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
被識別)