【问题标题】:Node and variables for different environments不同环境的节点和变量
【发布时间】:2014-05-23 00:36:42
【问题描述】:

对于我的 Node 应用程序,通常被视为为开发和生产环境定义变量的方式。例如我想分别在两个环境中使用我的本地数据库和远程数据库。

例如,我目前正在这样做,但我知道它可以改进:

var env = process.env.NODE_ENV || 'development';
if ('development' == env)
  var db = 'mongodb://localhost/dbname'
else
  var db = 'path_to_remote_db'

我认为 dotenv 会是解决方案,因为它提到了设置环境变量,但我认为环境变量和环境变量是两个不同的东西?

谁能告诉我如何在两种不同的环境中使用变量。

【问题讨论】:

  • process.env.NODE_ENV 是如何设置的?

标签: node.js


【解决方案1】:

在 npm 上有 dozens of modules 用于此,这是一个充满意见和自行车脱落的话题。我编写了一个名为 config3 的模块,它实现了我个人对处理此问题的好方法的看法,并在自述文件中查看了十几个其他可用选项。

【讨论】:

  • 那么我将如何使用您的模块来解决我的问题呢?您的示例代码只有一行。如何划分环境?
  • 阅读自述文件中标有“如何使用它”的部分。这是一个分步指南。我的方法不使用 NODE_ENV 或命名环境,您只需在 /etc/myapp/config.js 创建一个配置文件,然后在暂存时将暂存设置放在那里,在您的产品服务器上,将生产设置放在那里。就是这样。
  • 所以我可以在两个位置拥有两个不同的配置文件,对吧?它将检测当前环境并加载正确的环境?
猜你喜欢
  • 1970-01-01
  • 2016-04-15
  • 1970-01-01
  • 2021-08-12
  • 1970-01-01
  • 2017-09-15
  • 2017-05-06
  • 2015-06-26
  • 2016-09-18
相关资源
最近更新 更多