全球价值观 - 反模式?

时间:2017-04-01 16:03:43

标签: node.js

我最近被告知,在其他地方访问process.env值,但启动文件是反模式。真的吗?如果是这样,我该如何访问那里分配的值?我应该将它们分配到global范围吗?我真的不明白为什么这会反模式,有人可以向我解释一下吗?

1 个答案:

答案 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
    }
  }
  // ...
};

只需要在任何地方使用它。