npm 指令碼是什麼以及它們是如何觸發的

npm 指令碼是 npm 在使用正確的引數呼叫時將為你執行的命令。這種能力和意義是不要在全域性環境中安裝 npm 軟體包。

預識別和自定義指令碼之間的區別依賴於標籤之間的 run 字, custom 指令碼需要 npm 和指令碼名稱之間的 run

基於此,我們可以區分和建立與 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 被識別)