有没有办法在 Node.js 代码中读取环境变量?
例如 Python 的os.environ['HOME']
.
有没有办法在 Node.js 代码中读取环境变量?
例如 Python 的os.environ['HOME']
.
使用Node.js 时,您可以通过键从process.env
对象中检索环境变量:
例如
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
这是将解释在 node.js 中设置环境变量的答案
如果您想使用在 Node.js 程序中生成的字符串键,例如var v = 'HOME'
,您可以使用
process.env[v]
.
否则,process.env.VARNAME
必须在您的程序中进行硬编码。
要在 Node.JS 中检索环境变量,您可以使用process.env.VARIABLE_NAME,但不要忘记在 process.env 上分配属性会将值隐式转换为字符串。
即使你的 .env 文件定义了一个像SHOULD_SEND=false或SHOULD_SEND=0这样的变量,这些值也会被转换成字符串(分别是“false”和“0”)而不是被解释为布尔值。
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
相反,您应该进行明确的检查。我发现根据环境名称有很长的路要走。
db.connect({
debug: process.env.NODE_ENV === 'development'
});
您可以使用env包来管理每个项目的环境变量:
.env
在项目目录下创建一个文件并将所有变量放在那里。require('dotenv').config();
完毕。现在您可以使用process.env.ENV_NAME
.