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