历史上,在我工作的大多数大型项目中,我们都有一个构建脚本,由开发人员运行来设置他们的环境,例如设置iis,数据库迁移,模板化配置文件等。
由于每个环境都不同,我通常会为每个环境提供一组配置文件,例如dev.config
,qa.config
或release-candidate.config
,然后当构建过程运行时,它会使用<environment>.config
文件找出其设置应该是什么。通过这种方式,我的开发环境可以很好地构建,构建服务器也可以自动化地完成它的工作。
无论如何在.net中我们有配置文件,比如web.config可以模板化,在nodejs世界中有没有这个概念?因为我想要一个文件,其中包含应用程序运行所需的所有配置值,而不将它们放在应用程序代码中。
答案 0 :(得分:2)
实际上,你可以非常简单地做到这一点。只需将所有配置放在.js
文件中,例如
{
mongodb: {
connection: 'http://mongodb.com/mydb:12323/user/password',
options: {
keepConnection: true
}
},
app: {
deploymentKey: '1234'
},
// etc
}
因此,您将拥有2-3个文件,具体取决于您拥有的环境数量。
/config/development.js
/config/production.js
/config/test.js
/config/staging.js
环境类型通常由NODE_ENV
变量公开。然后你有非常简单的模块,加载配置:
var util = require('util');
var env = process.env.NODE_ENV || 'development';
var config = util.format('/%s.config.js', env);
module.exports = require(__dirname + config);
查看一些真实代码here;
答案 1 :(得分:1)
这就是我创建properties模块的原因。
查看environment示例。