深入理解npm run命令,run命令的兩條潛規則


原文地址:https://newsn.net/say/npm-run.html

============================================
商業轉載請聯系獲得授權,非商業轉載請注明出處
作者:蘇南大叔 【京城,非著名互聯網從業人員】
來源:https://newsn.net/say/npm-run.html
打賞:https://newsn.net/shang.html
加群:https://newsn.net/group.html
============================================
歡迎轉發/打賞/點贊/留言,感謝您的支持!

大家在調試node系列的程序的時候,一般少不了使用npm安裝依賴,然后再執行npm run命令,而大家可能不知道的是,npm run包含着兩個潛規則。

 

蘇南大叔:深入理解npm run命令,run命令的兩條潛規則 - npm-run-hero

深入理解npm run命令,run命令的兩條潛規則(圖4-1)

 

在本文中,蘇南大叔描述的就是npm run的潛規則:prepost。而且在查看本文的內容前,您一定要知曉:npm run命令都是定義在package.json文件的scripts節點里面的。測試環境:macnpm@6.14.3

 

基本定義

下面是個例子,package.json定義如下:

{
  "name": "nnn",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "echo \"test\"",
    "predev": "echo \"before dev\"",
    "dev": "echo \"deving\"",
    "postdev": "echo \"after dev\""
  },
  "author": "sunan",
  "license": "ISC"
}
 

 

蘇南大叔:深入理解npm run命令,run命令的兩條潛規則 - package-json

深入理解npm run命令,run命令的兩條潛規則(圖4-2)

 

 

潛規則一:npm startnpm run start

對於命令npm run ***,如果***start字樣,就可以省略run字樣。這個是目前為止,蘇南大叔知道的唯一可以省略run字樣的命令。是不是有其他的?有的話,請留言哦。

下面的兩個命令是等同的:

Bash
npm start
Bash
npm run start

 

蘇南大叔:深入理解npm run命令,run命令的兩條潛規則 - npm-start

深入理解npm run命令,run命令的兩條潛規則(圖4-3)

 

 

潛規則二:prepost

對於某個命令***,如果定義:

  • pre***,那么就會在npm run ***之前運行。
  • pos***,那么就會在npm run ***之后運行。

例如:

"scripts": {
    "start": "echo \"test\"",
    "predev": "echo \"before dev\"",
    "dev": "echo \"deving\"",
    "postdev": "echo \"after dev\""
  },
 

那么,當***dev的時候,執行npm run dev的話,結果如下:

 

蘇南大叔:深入理解npm run命令,run命令的兩條潛規則 - npm-run-dev

深入理解npm run命令,run命令的兩條潛規則(圖4-4)

 

***可以是start哦,在這個語境下,start是沒有特殊身份的,也符合prepost潛規則。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM