我尝试使用配置包(npm install config),以便能够为不同的环境使用不同的配置。我在Windows 10上运行它。
我在config文件夹下找到了4个文件:default.json、development.json、production.json和qa.json。
例如,当我运行SET NODE_ENV=production
时,它适用于它,但config
仍然没有从正确的文件中获取信息。
var config = require('config');
var port = config.get('appPort');
我做了一些阅读,我发现了另一个值-NODE_CONFIG_ENV
。我做了一些测试:
console.log('NODE_CONFIG_ENV: ' + config.util.getEnv('NODE_CONFIG_ENV'));
console.log('NODE_ENV: ' + config.util.getEnv('NODE_ENV'));
而且似乎NODE_CONFIG_ENV
要对这个问题负责,因为似乎config
正在使用它来决定选择哪个文件。
我的问题是如何让config
再次使用NODE_ENV
?
如果不可能,怎么设置NODE_CONFIG_ENV
呢?
1条答案
按热度按时间5hcedyr01#
这里有一个部分解决方案,
我添加了
NODE_ENV
,以防它返回使用它,但总的来说,我仍然没有弄清楚是什么导致它使用NODE_CONFIG_ENV
而不是NODE_ENV
。编辑:我找到原因了!这是因为我之前使用的另一个名为
cross-env
的npm包。