npm 包下載的各種姿勢


最近在寫Node程序的時候,突然對 npm install 的-save和-save-dev 這兩個參數的使用比較混亂。其實博主在這之前對這兩個參數的理解也是模糊的,各種查資料和實踐后對它們之間的異同點略有理解。遂寫下這篇文章避免自己忘記,同時也給node猿友一點指引。

我們在使用 npm install 安裝模塊的模塊的時候 ,一般會使用下面這幾種命令形式:

1
2
3
4
5
6
7
npm  install  moduleName  # 安裝模塊到項目目錄下
 
npm  install  -g moduleName  # -g 的意思是將模塊安裝到全局,具體安裝到磁盤哪個位置,要看 npm config prefix 的位置。
 
npm  install  -save moduleName  # -save 的意思是將模塊安裝到項目目錄下,並在package文件的dependencies節點寫入依賴。
 
npm  install  -save-dev moduleName  # -save-dev 的意思是將模塊安裝到項目目錄下,並在package文件的devDependencies節點寫入依賴。

那么問題來了,在項目中我們應該使用四個命令中的哪個呢?這個就要視情況而定了。下面對這四個命令進行對比,看完后你就不再這么問了。

npm install moduleName 命令

1. 安裝模塊到項目node_modules目錄下。
2. 不會將模塊依賴寫入devDependencies或dependencies 節點。
3. 運行 npm install 初始化項目時不會下載模塊。

npm install -g moduleName 命令

1. 安裝模塊到全局,不會在項目node_modules目錄中保存模塊包。
2. 不會將模塊依賴寫入devDependencies或dependencies 節點。
3. 運行 npm install 初始化項目時不會下載模塊。

npm install -save moduleName 命令

1. 安裝模塊到項目node_modules目錄下。
2. 會將模塊依賴寫入dependencies 節點。
3. 運行 npm install 初始化項目時,會將模塊下載到項目目錄下。
4. 運行npm install --production或者注明NODE_ENV變量值為production時,自動下載模塊到node_modules目錄中。

npm install -save-dev moduleName 命令

1. 安裝模塊到項目node_modules目錄下。
2. 會將模塊依賴寫入devDependencies 節點。
3. 運行 npm install 初始化項目時,會將模塊下載到項目目錄下。
4. 運行npm install --production或者注明NODE_ENV變量值為production時,不會自動下載模塊到node_modules目錄中。

總結

devDependencies 節點下的模塊是我們在開發時需要用的,比如項目中使用的 gulp ,壓縮css、js的模塊。這些模塊在我們的項目部署后是不需要的,所以我們可以使用 -save-dev 的形式安裝。像 express 這些模塊是項目運行必備的,應該安裝在 dependencies 節點下,所以我們應該使用 -save 的形式安裝。


免責聲明!

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



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