我为ENV变量创建了以下配置文件,我想在开发中测试它(在开发周期中我想测试prod和dev变量并得到不同的配置值),我该怎么做?
module.exports = function () {
switch (process.env.NODE_ENV) {
case 'development':
return
{
PORT : 3010
UUID : '13bfbcf4-1f2f-11e5-b5f7-727283247c7f'
};
case 'production':
return
{
PORT : 4000
UUID : '3e30020a-1f2f-11e5-b5f7-727283247c7f'
};
default:
}
};
在我的server.js文件中我使用
config = require('./config');
...
configs = new config();
但不确定如何测试它并传递值,因为当我放在上面的行process.env.NODE_ENV = 'development'
之后我得到了错误,我知道如何在本地测试prod和dev的配置?
另外这是推荐使用dev / prod的方法吗?
答案 0 :(得分:1)
您执行操作的顺序非常重要:您需要在运行配置功能之前设置环境变量:
var config = require('./config');
process.env.NODE_ENV = 'production';
var configs = config();
如果您想在外部进行设置,并且只要您正在运行某种类Unix操作系统,请按以下步骤启动您的应用:
$ env NODE_ENV=production node server
我更喜欢自己使用config
模块,它负责加载正确的配置文件等。