在节点开发期间测试 ENV 变量
Test ENV variable during development in node
我已经为 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'
我得到了错误,知道如何在本地测试生产和开发的配置吗?
此外,这是与 dev/prod?
一起玩的推荐方式
你做事的顺序很重要:你需要在 运行 你的配置函数之前设置环境变量:
var config = require('./config');
process.env.NODE_ENV = 'production';
var configs = config();
如果您想在外部设置它,并且假设您是 运行 某种 Unix(-like)OS,请像这样启动您的应用程序:
$ env NODE_ENV=production node server
我更喜欢自己使用 config
模块,它负责加载正确的配置文件等。
我已经为 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'
我得到了错误,知道如何在本地测试生产和开发的配置吗?
此外,这是与 dev/prod?
一起玩的推荐方式你做事的顺序很重要:你需要在 运行 你的配置函数之前设置环境变量:
var config = require('./config');
process.env.NODE_ENV = 'production';
var configs = config();
如果您想在外部设置它,并且假设您是 运行 某种 Unix(-like)OS,请像这样启动您的应用程序:
$ env NODE_ENV=production node server
我更喜欢自己使用 config
模块,它负责加载正确的配置文件等。