args._[0] 中的 ._[0] 有什么作用?

我一直在尝试一些节点代码(试图构建一个小 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 或下划线。取自这个很棒的教程。


BIG阳
浏览 119回答 2
2回答

梵蒂冈之花

从arg图书馆的文档中:选项不使用的所有参数(通常称为“额外”参数)都添加到result._,它始终是一个数组(即使没有传递额外的参数,在这种情况下返回一个空数组)。args._[0]第一个额外参数也是如此。

慕沐林林

没关系。我第一次没有点击npm arg库,这确实是我在这里唯一导入的模块,因为我node arg出于某种原因搜索了谷歌。下划线实际上只是您指定的任何键未使用的其余参数的“容器”:选项不使用的参数(通常称为“额外”参数)被添加到result._
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript