0

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

development.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') ?

4

1 回答 1

0

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

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-11T17:33:41.523 回答