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 передpreversion
version
пакета -
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
)