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

154
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 должен исчезать, а вместо него должен...

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

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

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

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

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

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

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

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

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

187