Сценарии npm объединяют в себе набор команд терминала, которые можно использовать для автоматизации задач в проекте JavaScript. Они также обеспечивают согласованный способ запуска команд в различных средах.
Вы можете настроить сценарии npm в файле package.json, запустить их в командной строке и использовать широкий набор параметров для настройки их поведения.
Настройка скриптов npm в файле package.json
Обычно сценарии npm определяются в файле package.json, расположенном в корне вашего проекта JavaScript. Это не обязательно, так как вы можете выполнять сценарии из других файлов, но package.json упрощает доступ к вашим сценариям и управление ими.
Обратите внимание, что для продолжения вам необходимо установить npm и Node в вашей среде разработки. Вот несколько полезных статей:
- Как установить Node.js и npm в Windows.
- Как установить Node.js и npm на Ubuntu.
Чтобы настроить скрипт npm в package.json, выполните следующие действия:
- Перейдите в корень вашего проекта.
- Запустите npm init на терминале. Команда задаст вам несколько вопросов о вашем проекте. Ответьте на них, чтобы создать соответствующий файл package.json.
инициализация нпм
- В файле 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. Они могут улучшить ваш рабочий процесс и сэкономить время, предоставляя вам согласованные команды для выполнения нескольких задач.