我有一个简单的node.js后端脚本,我想捕获命令行参数以及config.json文件和环境变量中的键/值.第二个我没有问题,但我在捕获命令行args时几乎无法解决.
我可以这样捕获命令行参数:
var nconf = require('nconf');
nconf.argv().env().file({file: './config.json'});
var csvFilePath = nconf.argv().get()._[0]; // var csvFilePath = process.argv[2];
var csvType = nconf.argv().get()._[1]; // var csvType = process.argv[3];
Run Code Online (Sandbox Code Playgroud)
这两个调用等同于process.argv [index],但索引已更改.
必须有一种更简单的方法来捕获命令行参数,但即使我调试并查看nconf产生的变量,我仍然无法弄明白.
有nconf经验的人可以帮忙吗?
有没有亲切的老师可以回答我上面的问题?
仅供参考我正在使用WebStorm并使用node.js我安装了npm模块nconf和package-lock.json.我期望package.json会被制作出来.
谢谢.
冒号分隔nconf层次结构,例如,
{
"AUTH": {
"ENABLED": true
}
}
Run Code Online (Sandbox Code Playgroud)
通过以下方式访问
nconf.get("AUTH:ENABLED");
Run Code Online (Sandbox Code Playgroud)
我想通过环境和/或命令行选项来覆盖它npm start,例如,
AUTH:ENABLED=false npm start
Run Code Online (Sandbox Code Playgroud)
由于冒号,这在bash和zsh下都失败了.逃离冒号\并没有帮助.
在所有情况下(分层或不分层),以下内容也会失败:
npm start --AUTH:ENABLED=false
Run Code Online (Sandbox Code Playgroud)
如何以有效的方式将分层配置值传递给nconf/optimist?
我想在我的 Typescript 项目中使用nconf-yaml插件,但我不知道如何将其添加到我的打字中。在@types/nconf中,formats变量声明如下:
export declare var formats: {
json: IFormat;
ini: IFormat;
};
Run Code Online (Sandbox Code Playgroud)
如何使用声明合并添加yaml,使其变为:
export declare var formats: {
json: IFormat;
ini: IFormat;
yaml: IFormat
};
Run Code Online (Sandbox Code Playgroud)