有没有方法读取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中设置环境变量的答案
其他回答
为什么不在.bash_profile文件的Users目录中使用它们,这样就不必将任何带有变量的文件推送到生产环境中了?
要在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访问环境变量。
使用Node.js时,您可以从process.env对象中按关键字检索环境变量:
例如
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
以下是解释在node.js中设置环境变量的答案
如果您想使用Node.js程序中生成的字符串键,例如var v='HOME',可以使用进程env[v]。
否则,必须在程序中对process.env.VARNAME进行硬编码。