在节点开发期间测试 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 模块,它负责加载正确的配置文件等。