我一直在尝试一些节点代码(试图构建一个小的CLI),并遇到了这种下划线符号,这对我来说很陌生。只需在命令行上使用不同的参数,
我意识到这有点像“提取”第一个分配给“ template”键的字符串,但是我之前从未见过,也无法在此找到文档。这是本机javascript / node吗?
谢谢!
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,
};
}
我没有安装破折号或下划线。取自此awesome tutorial。
从arg
库的文档中:
未由选项使用的所有参数(通常称为“额外”参数)都添加到
arg
中,该参数始终是一个数组(即使没有传递任何额外的参数,在这种情况下也会返回一个空数组)。
所以result._
是第一个额外的参数。
没关系。我没有第一次点击args._[0]
库,这确实是我的only导入模块,因为我出于某种原因用Google搜索了npm arg
。
下划线实际上只是您指定的任何键未使用的其余参数的“容器”:
未由选项使用的参数(通常称为“额外”参数)被添加到
node arg