如何从cmd更改或覆盖配置模块的default.json文件的变量。
这是default.json文件
"test":"TEST1"
我想从cmd更改测试变量值,但是当我在cmd中运行此命令时,我将显示在default.json中设置的test值,而不是我在cmd命令中提供的值。
这是我用来更改测试值的命令
$env:TEST="TEST_VALUE" node app.js
请帮助我解决此问题,如何从外部进行
答案 0 :(得分:0)
您可以在Unix系统上做
export test="Test1"
对Windows使用“设置”。
答案 1 :(得分:0)
希望这对您有帮助...
default.json
{
"test":"TEST1"
}
app.js
DEFAULT_CONFIG = require('./default.json');
process.argv.forEach((arg,index)=>{
if(arg.match('--test')){
DEFAULT_CONFIG.test = process.argv[index+1] ?
process.argv[index+1] :
DEFAULT_CONFIG.test;
}
})
console.log(`test is now set to ${DEFAULT_CONFIG.test}`);
命令行
foo@bar:~$ node app.js
test is now set to TEST1
foo@bar:~$ node app.js --test TEST_VALUE
test is now set to TEST_VALUE
================================================ =========
选项#2 基于OP注释
default.json
{
"test":"TEST1"
}
dev_config.json
{
"test":"TEST_VALUE"
}
app.js
DEFAULT_CONFIG = process.env.NODE_ENV === 'dev' ?
require('./dev_config.json') :
require('./default.json');
命令行
使用dev_config.json配置设置
foo@bar:~$ NODE_ENV=dev node app.js
或
要使用常规的default.json配置设置
foo@bar:~$ node app.js