【发布时间】:2018-10-27 17:06:28
【问题描述】:
当您想指定环境变量时,可以使用很多对 dotenv 库的引用。但为什么?我可以在这样的文件中指定我的 var:
var dev = {
}
var prod = {
}
var config = null;
if (process.env.NODE_ENV === 'production') {
config = prod
} else {
config = dev
}
exports.config = config
并在npm srcipts 中分配我的变量,如下所示:
"scripts": {
"start": "NODE_ENV=dev node bin/dev",
"production": "NODE_ENV=production node bin/production"
}
我的方式不安全吗?为什么推荐使用 dotenv 方式?为什么我应该创建 .env 文件而不是我的 config.js?
【问题讨论】:
-
.dotEnv也不安全。但这不是重点。您应该从您的 git 存储库中排除.env,这样其他人就不会无意中看到您的值。然后,当您部署到服务器时,将其添加到服务器的环境文件中。 -
是的,我同意!但我也可以用我的 config.js 文件做同样的事情。我可以从公共 .gitignore 这个文件,然后将其添加到部署流程......为什么 .dotEnv 如此流行?
-
将环境变量保存在一起。使用 .js 文件很好,但迟早有人(团队可能会变大)最终会提交他们不应该提交的值。它通常对 API 密钥和 SECRET 更有用
标签: javascript node.js environment-variables