我最近被告知,在其他地方访问process.env
值,但启动文件是反模式。真的吗?如果是这样,我该如何访问那里分配的值?我应该将它们分配到global
范围吗?我真的不明白为什么这会反模式,有人可以向我解释一下吗?
答案 0 :(得分:1)
来自环境的配置变量往往是不可读的。因此,您最终可能会遇到类似process.env.PRODUCTION_DATABASES_MONGO_PORT
的问题。如果您在不同文件中有很多process.env
- s,则可能很难理解可能的选项(您应该运行NODE_ENV=dev node index
还是NODE_ENV=development node index
还是FOO=true node index
?)
作为不需要任何依赖注入的大多数简单解决方案,您只需在根文件夹中创建config.js
,例如:
module.exports = {
databases: {
mongo: {
port: process.env.BLAH_BLAH_BLAH
}
}
// ...
};
只需要在任何地方使用它。