从历史上看,在我从事的大多数大型项目中,我们都有某种构建脚本,由开发人员运行以设置其环境,例如设置iis,数据库迁移,模板化配置文件等。
由于每个环境都是不同的,我想一般有一组配置文件为每个环境,如dev.config
,qa.config
或release-candidate.config
,然后在构建过程中运行时,它会使用<environment>.config
文件,找出它的设置应该是什么。这样,我的开发环境就可以很好地构建,构建服务器也可以以自动化的方式很好地完成其工作。
无论如何,在.net中,我们都有可以模板化的配置文件(例如web.config),在nodejs世界中是否对此有任何想法?因为我想要一个文件,其中包含应用程序运行时所需的所有配置值,而无需将其放入应用程序代码中。
实际上,您可以做到这一点很简单。只需将您的所有配置都放在.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);
在这里签出一些真实的代码;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句