【问题标题】:Method for managing app settings with Node.js / Heroku env variables使用 Node.js / Heroku 环境变量管理应用程序设置的方法
【发布时间】:2012-04-24 14:04:28
【问题描述】:

目前,我有几个使用 NODE_ENV 加载的“环境”
(我正在使用 RailwayJS / express)

开发.js
app.set('mongodb_connection_string', 'mongodb://localhost/') // 示例

production.js:
app.set('mongodb_connection_string', process.env.MONGOLAB_URI)

因此,在生产环境中,我们使用的是在 heroku 中设置的 MONGOLAB_URI 变量。

只是想知道是否有更好的方法来管理这些,而不必加倍,并设置 app.set('mongodb_connection_string') ??

【问题讨论】:

  • 也许只是将它包装到设置这些东西并为您初始化应用程序的模块中。

标签: node.js environment-variables express


【解决方案1】:

我为此使用了这个非常小的模块。它是用咖啡文字写的,如果您看不懂,请告诉我,我会翻译:

extend = (source, replacement)->

  for k, v of replacement

    source[k] = v

  source

module.exports =

  create: ->

    env_settings = this[process.env.NODE_ENV]

    extend this.general, env_settings

这允许我编写以下设置:

settings = require 'square-settings'

settings.general =

  domain: '0.0.0.0:3000'

settings.production =

  domain: 'www.somewhere.com'

module.exports = settings.create()

settings.general 中的所有内容都是默认设置。我可以通过添加 settings.environment 为每个环境覆盖它。

【讨论】:

    猜你喜欢
    • 2012-05-16
    • 2020-10-30
    • 2020-01-15
    • 2021-06-01
    • 2021-12-23
    • 2015-04-04
    • 2012-06-08
    • 2017-11-14
    • 1970-01-01
    相关资源
    最近更新 更多