Вы можете передавать любое количество аргументов при вызове Node.js приложение, использующее
node app.js
Аргументы могут быть автономными или иметь ключ и значение.
Например:
node app.js flavio
или
node app.js name=flavio
Это изменит способ получения этого значения в коде узла.
Способ его извлечения заключается в использовании объекта process , встроенного в узел.
Он предоставляет свойство argv , представляющее собой массив, содержащий все аргументы вызова командной строки.
Первый аргумент – это полный путь к команде узел .
Второй элемент – это полный путь к исполняемому файлу.
Все дополнительные аргументы присутствуют с третьей позиции в будущем.
Вы можете перебирать все аргументы (включая путь к узлу и путь к файлу) с помощью цикла:
process.argv.forEach((val, index) => {
console.log(`${index}: ${val}`)
})Вы можете получить только дополнительные аргументы, создав новый массив, который исключает первые 2 параметра:
const args = process.argv.slice(2)
Если у вас есть один аргумент без имени индекса, например:
node app.js flavio
вы можете получить к нему доступ с помощью
const args = process.argv.slice(2) args[0]
В этом случае:
node app.js name=flavio
аргументы[0] – это имя=флавио , и вам нужно его разобрать.
Лучший способ сделать это – использовать библиотеку minimalist , которая помогает работать с аргументами:
const args = require('minimist')(process.argv.slice(2))
args['name'] //flavio
Оригинал: “https://flaviocopes.com/node-cli-args/”