Что делает ._ [0] в аргументах ._ [0]? - PullRequest
1 голос
/ 01 апреля 2020

Я экспериментировал с некоторым кодом узла (пытаясь создать небольшой клиентский код) и наткнулся на эту нотацию подчеркивания, которая довольно чужды мне. Просто играя с разными аргументами в командной строке,

Я понимаю, что это что-то вроде «извлечения» первой строки, назначаемой клавише «template», но я никогда раньше не видел этого и не могу довольно найти документацию по этому вопросу. Это нативный javascript / узел?

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,
 };
}

У меня не установлен loda sh или подчеркивание. Взято из этого удивительного урока .

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

Из документации библиотеки arg:

Все параметры, которые не используются опциями (обычно называемые «дополнительными» параметрами), добавляются в result._, который всегда является массивом (даже если никакие дополнительные параметры не передаются, и в этом случае возвращается пустой массив).

Итак, args._[0] - это первый дополнительный параметр.

0 голосов
/ 01 апреля 2020

Неважно. Я не попал в библиотеку npm arg в первый раз, это действительно мой импортированный модуль only , потому что я по какой-то причине гуглил node arg.

Подчеркивание фактически является просто «контейнером» для остальных аргументов, которые не используются ни одним из указанных вами ключей:

Параметры, которые не используются опциями ( обычно называемые «дополнительными» параметрами) добавляются к result._

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...