node.js:存储应用配置的标准方式?

时间:2011-12-23 10:48:33

标签: node.js express

是否存在针对不同环境存储node.js应用程序配置的标准方法?

我做了什么来实现这个目标:

创建的: node_app_folder / CONF / general.js node_app_folder / CONF / development.js node_app_folder / CONF / production.js

general.js:

module.exports = {
    setting: "SOME GENERAL SETTING"
   ,setting2: ...
    ...
   // global conf has export method extend that just copies/replaces properties from supplied object
   extend: {...}

}

development.js和production.js包含特定于环境的设置。

app.js中的

global.conf = require('./conf/general');

// As I use express.js
app.configure('development', function(){       
   global.conf.extend(require('./conf/development'));
   ....
}
app.configure('production', function(){       
   global.conf.extend(require('./conf/producton'));
   ....
}

然后在我的应用程序模块中,我可以通过global.conf对象访问app,配置。

但我想知道是否有标准方法来完成所描述的任务?

感谢。

1 个答案:

答案 0 :(得分:6)

如果您只想从JSON文件中获取值,那么使用Konphyg是完美的,这里有一个很好的教程:http://nodetuts.com/tutorials/31-konphyg-cascading-configuration-files.html

虽然没有设置配置文件夹的标准方法,但每种方法都以自己的方式进行。