Поиск…


Синтаксис

  • Свойство «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 Будет работать нормально, поскольку это допустимый способ выполнения сценария npm

  • npm run test:watch Будет работать также, и он вызывает npm run test внутри себя

  • npm run build Перед запуском gulp build удалите папку dist которая находится в каталоге (если вы находитесь в Linux или признана команда rm )



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow