Ivg*_*vgi 5 production config node.js
我正在尝试使用配置包(npm install config)以便能够针对不同的环境使用不同的配置。我在 Windows 10 上运行它。
我在 config 文件夹下有 4 个文件:default.json、development.json、development.json 和 qa.json。
SET NODE_ENV=production例如,当我运行时,它适用于它,但config仍然没有从正确的文件中获取信息。
var config = require('config');
var port = config.get('appPort');
Run Code Online (Sandbox Code Playgroud)
我做了一些阅读,发现了另一个值 - NODE_CONFIG_ENV。我做了一些测试:
console.log('NODE_CONFIG_ENV: ' + config.util.getEnv('NODE_CONFIG_ENV'));
console.log('NODE_ENV: ' + config.util.getEnv('NODE_ENV'));
Run Code Online (Sandbox Code Playgroud)
似乎NODE_CONFIG_ENV是造成问题的原因,因为似乎是config用它来决定选择哪个文件。
我的问题是我怎样才能再次config使用NODE_ENV?
或者如果不可能我该如何设置NODE_CONFIG_ENV?
这是部分解决方案,
"scripts": {
"dev": "SET NODE_CONFIG_ENV=development&&SET NODE_ENV=development&& nodemon server.js",
"qa": "SET NODE__CONFIG_ENV=qa&&SET NODE_ENV=qa&& node server.js",
"prod": "SET NODE_CONFIG_ENV=production&&SET NODE_ENV=production&& node server.js",
}
Run Code Online (Sandbox Code Playgroud)
我补充NODE_ENV说,以防它返回使用它,但总的来说,我仍然不明白是什么导致它使用NODE_CONFIG_ENV而不是NODE_ENV.
编辑:我找到原因了!这是因为cross-env我之前使用过另一个 npm 包。
| 归档时间: |
|
| 查看次数: |
4032 次 |
| 最近记录: |