Как использовать аргументы в скрипте?

В npm скрипты позволяют вам выполнять различные команды в проекте. Одним из полезных инструментов при работе с npm скриптами являются аргументы командной строки. Аргументы позволяют передать в скрипт некоторые значения или настройки, в зависимости от вашей потребности. В этом ответе я расскажу вам, как использовать аргументы в npm скриптах.

Аргументы командной строки передаются скрипту после имени скрипта в команде npm run и доступны через объект process.argv. Этот объект представляет собой массив строк, где первый элемент – путь к исполняемому файлу Node.js, второй элемент – путь к запускаемому файлу, а все последующие элементы – аргументы командной строки.

Для примера, давайте создадим простой npm скрипт, который принимает два аргумента – имя и возраст:

// package.json
{
  "scripts": {
    "greet": "node greet.js"
  }
}
// greet.js
const name = process.argv[2];
const age = process.argv[3];

console.log(`Привет, ${name}! Тебе ${age} лет.`);

Затем мы можем выполнить этот скрипт, передавая ему аргументы командной строки:

$ npm run greet -- John 30

В результате мы получим вывод: "Привет, John! Тебе 30 лет."

Обратите внимание на использование -- перед передачей аргументов командной строки. Это необязательная, но хорошая практика, чтобы избежать конфликтов с аргументами, используемыми npm.

Также стоит отметить, что аргументы командной строки всегда передаются в виде строк, поэтому, если вам нужно использовать их как числа или другие типы данных, вам придется произвести соответствующее преобразование:

// greet.js
const name = process.argv[2];
const age = parseInt(process.argv[3]);

console.log(`Привет, ${name}! Через 10 лет тебе будет ${age + 10} лет.`);

Теперь, если выполнить команду $ npm run greet -- John 30, мы получим вывод: "Привет, John! Через 10 лет тебе будет 40 лет."

Надеюсь, эта информация помогла вам понять, как использовать аргументы в npm скриптах. Они могут быть мощным инструментом для настройки и управления вашим проектом.