Каким образом можно “достать” с консоли массив аргументов в NodeJS?

191
24 сентября 2017, 00:46

Kаким способом можно получить в Node.js с введенных в консоль строк-комманд их массив для подальшей обработки(например, в switch'aх)?

Пример команды в консоли:

create Vasya Pupkin 03-06-1989 musician

(допустим, надо распарсить ее и к примеру, создать такой объект)

Answer 1

В npm есть пакет minimist, предназначенный для парсинга аргументов коммандной строки. Установить его можно:

npm install minimist или yarn add minimist

такой код

var argv = require('minimist')(process.argv.slice(2));
console.dir(argv);

при таком вызове

create aaa bbb -f -g=45

выведет

{ 
 _: [ 'aaa', 'bbb' ],
 f: true,
 g: 45
}

при вашем вызове

create Vasya Pupkin 03-06-1989 musician

вывод будет такой

{
 _: [ 'Vasya', 'Pupkin', '03-06-1989', 'musician' ]
}

в котором все параметры находятся в виде строк в массиве в поле _

Answer 2

Я делал что то подобное через метод. Я думаю это то, что ты хотел.

process.argv.forEach(function (val, index, array) {
  console.log(index + ': ' + val);
});
READ ALSO
Помогите разобраться с popup jquery

Помогите разобраться с popup jquery

У меня есть popup-окно, в закрытом состоянии отображается envelope, нажимая на него, появляется popup-окно, envelope должен исчезать, а вместо него должен...

273
Не работает прокрутка внутри блока при Fullscreen режиме

Не работает прокрутка внутри блока при Fullscreen режиме

Так как здесь код не будет работать, нужно смотреть на Codepen

248
Изометрическая сетка (Grid) для портфолио

Изометрическая сетка (Grid) для портфолио

Хочу сделать такой же эффект: https://tympanusnet/Development/IsometricGrids/index

184
Ajax постоянные обновления div

Ajax постоянные обновления div

Здравствуйте, возникла проблемаПишу что-то на подобие чата

222