npm
Скрипты npm
Поиск…
Синтаксис
- Свойство «scripts» в
package.jsonпозволяет запускать пакеты npm локально. - Сценарий
"karma": "karma"ссылается на сценарий оболочкиkarma- этоnode_modules/.bin. Эта ссылка должна быть захвачена, и к ней необходимо применить псевдоним, чтобы использовать его в других сценариях npm, таких как"test": "karma start".
замечания
Предварительно распознанные скрипты
-
prepublish: запуск до публикации пакета -
publish,postpublishпослеpublish: запуск послеpublishпакета -
preinstall: запуск перед установкой пакета -
install,postinstall: запустить после установки пакета -
preversion,version: Run передpreversionversionпакета -
postversion: запустить после рельефа версию пакета -
pretest,test,posttest: выполняется командойnpm test -
prestop,stop,poststop: Запуск командойnpm stop -
prestart,start,poststart: Запуск командойnpm start -
prerestart,restart,postrestart: Запуск командойnpm restart. Примечание:npm restartзапускает сценарии остановки и запуска, если неrestartсценарийrestart.
Можно предположить, что свойство "scripts" в package.json - очень мощный инструмент. Его можно использовать как инструмент построения, похожий на подобных Grunt и Gulp, но с более чем 250 000 доступных пакетов. Скрипты NPM запускают пакеты npm, установленные локально в ваш проект из node_modules/.bin .
Запуск кармы локально
package.json snippet
{
"scripts":
"test": "karma start",
"karma": "karma"
}
}
Запуск сценариев npm
Существует два типа сценариев npm, а команда для запуска каждого из них несколько отличается. Первый тип npm-скриптов - это «предварительно распознанные» сценарии. Эти сценарии автоматически распознаются npm и не нуждаются в специальном префиксе (как вы увидите для другого типа) для их запуска. Другие типы скриптов - это «настраиваемые» сценарии. Эти скрипты не распознаются npm и должны иметь префикс с помощью специальной команды для их запуска. В разделе замечаний есть список предварительно распознанных скриптов.
Чтобы запустить предварительно распознанные скрипты:
npm start или npm test
Для запуска пользовательских скриптов вам необходимо использовать команду run :
npm run karma
Какие сценарии npm и как они запускаются
Скрипты npm - это команды, которые npm будет запускать для вас при вызове с соответствующими аргументами. Сила и смысл этого заключается в том, чтобы НЕ устанавливать пакеты npm во всем мире для вашей среды.
Разница между предварительно распознанными и настраиваемыми сценариями основана на run между тегами, для custom сценариев потребуется run между npm и именем сценария
Исходя из этого, мы можем различать и создавать разные задачи или сценарии, которые будут выполняться с помощью npm.
Учитывая следующий пример в файле package.json :
{
"name": "MyApp",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "mocha --recursive ./tests/",
"test:watch": "npm run test -- -w",
"start": "nodemon --inspect ./app.js",
"build": "rm -rf ./dist/ && gulp build"
}
...
}
Мы можем видеть различные задачи, которые нужно выполнить:
npm testбудет работать нормально, поскольку это признанный скриптnpm run testБудет работать нормально, поскольку это допустимый способ выполнения сценария npmnpm run test:watchБудет работать также, и он вызывает npm run test внутри себяnpm run buildПеред запускомgulp buildудалите папкуdistкоторая находится в каталоге (если вы находитесь в Linux или признана командаrm)