args._[0] 中的 ._[0] 是做什么的?
What does ._[0] in args._[0] do?
我一直在试验一些节点代码(试图构建一个小的 cli)并遇到了这个对我来说很陌生的下划线符号。只是在命令行中使用不同的参数,
我意识到它类似于 "extract" 分配给 "template" 键的第一个字符串,但我以前从未见过,也找不到关于它的文档。这是原生 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 或下划线。
取自这个 awesome tutorial.
来自 arg
库的文档:
All parameters that aren't consumed by options (commonly referred to as "extra" parameters) are added to result._
, which is always an array (even if no extra parameters are passed, in which case an empty array is returned).
所以args._[0]
是第一个额外的参数。
没关系。我第一次没有点击 npm arg
库,这确实是我 只有 导入的模块,因为出于某种原因我用谷歌搜索了 node arg
。
下划线实际上只是 "container" 用于您指定的任何键未使用的其余参数:
Parameters that aren't consumed by options (commonly referred to as "extra" parameters) are added to result._
我一直在试验一些节点代码(试图构建一个小的 cli)并遇到了这个对我来说很陌生的下划线符号。只是在命令行中使用不同的参数,
我意识到它类似于 "extract" 分配给 "template" 键的第一个字符串,但我以前从未见过,也找不到关于它的文档。这是原生 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 或下划线。 取自这个 awesome tutorial.
来自 arg
库的文档:
All parameters that aren't consumed by options (commonly referred to as "extra" parameters) are added to
result._
, which is always an array (even if no extra parameters are passed, in which case an empty array is returned).
所以args._[0]
是第一个额外的参数。
没关系。我第一次没有点击 npm arg
库,这确实是我 只有 导入的模块,因为出于某种原因我用谷歌搜索了 node arg
。
下划线实际上只是 "container" 用于您指定的任何键未使用的其余参数:
Parameters that aren't consumed by options (commonly referred to as "extra" parameters) are added to
result._