Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Сценарии npm объединяют в себе набор команд терминала, которые можно использовать для автоматизации задач в проекте JavaScript. Они также обеспечивают согласованный способ запуска команд в различных средах.

Вы можете настроить сценарии npm в файле package.json, запустить их в командной строке и использовать широкий набор параметров для настройки их поведения.

Настройка скриптов npm в файле package.json

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

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

  • Как установить Node.js и npm в Windows.
  • Как установить Node.js и npm на Ubuntu.
instagram viewer

Чтобы настроить скрипт npm в package.json, выполните следующие действия:

  1. Перейдите в корень вашего проекта.
  2. Запустите npm init на терминале. Команда задаст вам несколько вопросов о вашем проекте. Ответьте на них, чтобы создать соответствующий файл package.json.
    инициализация нпм 
  3. В файле package.json найдите поле scripts. Здесь вы можете добавить имя скрипта и команду, которую он должен запускать, в виде пар ключ/значение. Например, приведенный ниже сценарий с именем hello-world печатает «Hello world» в терминале при запуске.
    {
    "скрипты": {
    "Привет, мир": "эхо\\"Привет, мир\\""
    }
    }

Вот несколько распространенных скриптов для проектов JavaScript:

  • начинать: этот скрипт запускает сервер разработки. Например, в проекте Node он может запустить сервер с помощью nodemon.
  • строить: генерирует производственный код для вашего приложения и может использовать такой инструмент, как webpack, для минимизации и объединения кода.
  • тест: этот скрипт запускает тесты, определенные в вашем проекте. Он может запускать среду тестирования, такую ​​​​как Jest.
  • ворс: скрипт lint запускает инструмент linting, такой как ESLint, для проверки кода на наличие потенциальных ошибок.
  • смотреть: этот скрипт следит за изменениями в исходном коде, а затем запускает команду. Это полезно для повторного запуска тестов или пересборки приложения при изменении кода.
  • развертывать: запускает команду, которая развертывает приложение в указанной среде, такой как производственная или промежуточная.

Пре- и пост-скрипты

npm поддерживает пре- и пост-скрипты. Предварительные сценарии запускаются до определенного сценария, а пост-скрипты запускаются после него. Вы можете создавать пре- и пост-скрипты для любого скрипта, просто добавьте префикс «pre» или «post» к имени вашего скрипта.

Например, ниже приведены сценарии предварительного и последующего тестирования, которые будут выполняться до и после тестового сценария соответственно.

{
"скрипты": {
"предварительное испытание": "npm запустить lint",
"тест": "шутка",
"посттест": "выполнить сборку npm"
}
}

Запуск скриптов npm из package.json

После того как вы добавили скрипт npm в package.json, вы можете запустить его с помощью команды npmrun.

Вот синтаксис:

запуск нпм 

Например, чтобы запустить сценарий запуска, определенный ранее, используйте:

запуск запуска нпм

Вы можете выполнить команду npmrun самостоятельно, чтобы получить список всех доступных скриптов в проекте. Вот пример вывода:

Скрипты, доступные в [email protected] через `npm run-script`:
Привет, мир
эхо "Привет, мир"

В нем указано имя скрипта и команда, которую он запускает.

Использование сокращенных команд для запуска встроенных скриптов

npm поддерживает несколько встроенных скриптов, которые вы можете запускать с помощью сокращенных команд. Например, чтобы запустить скрипт npm с именем start, вы можете использовать npm start вместо npm run start.

Это удобнее и быстрее, чем вводить полную команду. Другие встроенные сценарии, которые вы можете запускать таким образом, включают «тест», «стоп» и «перезапуск».

Запуск нескольких npm-скриптов

Вы можете запустить несколько сценариев npm двумя способами:

  • последовательно
  • В параллели

Если вы используете Linux или любую другую Unix-подобную систему, вы можете использовать стандартный методы запуска нескольких команд одновременно.

Для последовательного запуска нескольких npm-скриптов используйте &&, например:

запуск запуска npm && проверка npm

Чтобы запустить несколько npm-скриптов параллельно, используйте &, например:

Сервер запуска npm и клиент запуска npm

В средах, отличных от UNIX, вы можете использовать команду npm-run-all или параллельный пакет npm.

Использование npm-run-all:

npm-run-all -- клиент параллельного сервера

Одновременное использование в package.json.

"скрипты": {
"разработчик": "одновременно \\"сервер запуска npm\\" \\"клиент запуска npm\\"",
}

Обратите внимание, что вам необходимо установить пакеты npm-run-all и Concurrently перед их использованием.

Устранение распространенных ошибок скрипта Npm

Ниже приведены некоторые распространенные ошибки, с которыми вы можете столкнуться при запуске скриптов npm:

  • нпм ошибся! отсутствующий скрипт — Эта ошибка возникает, если вы не определили скрипт, который пытаетесь запустить, в файле package.json. Убедитесь, что вы правильно пишете имя скрипта и что оно определено в поле скриптов файла package.json.
  • Доступ запрещен — Эта ошибка возникает, когда у вас нет разрешения на запуск скрипта, поэтому убедитесь, что у вас есть правильные разрешения.
  • Отсутствующие зависимости — Эта ошибка возникает, когда скрипт использует неустановленный пакет. Используйте такой инструмент, как депчек чтобы проверить наличие зависимостей, отсутствующих в package.json, затем установите их с помощью npm install.
  • Неизвестная команда — Эта ошибка обычно возникает, когда вы запускаете пользовательский скрипт как встроенную команду npm. Убедитесь, что вы используете запуск нпм или npm-скрипт запуска при запуске пользовательских скриптов.

Использование переменных среды в сценариях npm

Переменные среды позволяют передавать информацию без ее жесткого кодирования. Чтобы использовать переменные среды в скрипте npm, вы можете использовать кросс-env пакет npm. Этот инструмент поможет вам установить переменную среды в любой среде.

Начните с запуска этой команды на терминале, чтобы установить ее как зависимость от разработчика:

npm я сохраняю -D cross-env

Затем используйте его в своем скрипте следующим образом:

{
"скрипты": {
"строить": "cross-env NODE_ENV = рабочий веб-пакет"
}
}

Здесь cross-env устанавливает для переменной NODE_ENV значение «производство».

Передача аргументов командной строки в скрипты

Вы можете передать аргументы командной строки скрипту npm, используя два дефиса «--» после имени скрипта. Например, следующая команда запускает тестовый сценарий с аргументом watch:

npm запустить тест -- --watch

Вы также можете отправить аргумент командной строки скрипту npm следующим образом:

npm запустить мой порт --PORT=3000

Затем получите к нему доступ в сценарии следующим образом.

"скрипты": {
"мой порт": "эхо\\"Порт: $npm_config_PORT\\""
}

В системе Windows используйте это:

"скрипты": {
"мой порт": "эхо\\"Порт: %npm_config_PORT%\\""
}

Сценарий должен вывести «Порт: 3000» при запуске.

Зачем использовать скрипты npm?

Вы можете добавлять сценарии в package.json, запускать их в командной строке, использовать пре- и пост-перехватчики и передавать им аргументы строки и переменные среды.

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