dotenv配置并加载环境变量

  dotenv是一个不依赖任何模块的环境变量加载器,它从.env文件中加载变量到process.env.上这样就可以将项目的代码和环境配置分开存储。这是基于The Twelve-Factor App 理论实现的。

软件通常会作为一种服务来交付,即软件即服务(SaaS Software as a Service)。12-Factor原则为构建SaaS应用提供了以下的方法论:The Twelve-Factor App

安装

npm install dotenv --save

使用

在项目根目录创建.env

S3_BUCKET="YOURS3BUCKET"
SECRET_KEY="YOURSECRETKEYGOESHERE"

然后在你的应用中尽早使用如下代码加载配置

require('dotenv').config()
console.log(process.env) // remove this after you've confirmed it is working
// 或者
import * as dotenv from 'dotenv' // see https://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import
dotenv.config()

预加载

可以在启动应用的时候,使用如下命令,这样在你的代码中就不需要显式加载了。

$ node -r dotenv/config your_script.js

也可以通过下面的方式提供配置

$ node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/.env dotenv_config_debug=true
$ DOTENV_CONFIG_<OPTION>=value node -r dotenv/config your_script.js

其他

dotenv-expand

不错的实践
dotenv-webpack

.env                # 所有情况下都会加载
.env.local          # 所有情况下都会加载,但会被 git 忽略  -------- 自己修改.gitignore
.env.[mode]         # 只在指定模式下加载
.env.[mode].local   # 只在指定模式下加载,但会被 git 忽略

或者只是用.env 文件,在执行的时候在命令中指定配置文件

你可能感兴趣的:(tool,git)