【发布时间】:2020-04-02 01:07:59
【问题描述】:
我一直在尝试一些节点代码(尝试构建一个小型 cli),并遇到了这个对我来说非常陌生的下划线符号。只是在命令行中使用不同的参数,
我意识到它类似于“提取”第一个字符串以分配给“模板”键,但我以前从未见过这个,也找不到关于此的文档。这是原生 javascript/node 的东西吗?
import arg from 'arg';
function parseArgumentsIntoOptions(rawArgs) {
const args = arg(
{
'--git': Boolean,
'--yes': Boolean,
'--install': Boolean,
'-g': '--git',
'-y': '--yes',
'-i': '--install',
},
{
argv: rawArgs.slice(2),
}
);
return {
skipPrompts: args['--yes'] || false,
git: args['--git'] || false,
template: args._[0], // <<<<< Right here
runInstall: args['--install'] || false,
};
}
我没有安装 lodash 或 underscore。 取自awesome tutorial。
【问题讨论】:
-
我认为下划线是属性的名称。这个属性是一个数组。对象
args = { '_': [] }适合。 -
这与 Node.js 没有任何关系。
args是arg()函数返回的值(这不是标准的 Node.js 函数,但可能是外部依赖项)。快速浏览一下 npmjs.com 就会发现其可能的来源是 npmjs.com/package/arg -
该教程安装了一个名为
arg的库。文档是here
标签: javascript node.js command-line-arguments