npm i 有以下幾種后綴參數
npm i module_name # 安裝模塊到項目目錄下
npm i module_name -g # -g 的意思是將模塊安裝到全局,具體安裝到磁盤哪個位置,要看 npm config
npm i module_name -S(-save) # --save 的意思是將模塊安裝到項目目錄下,並在package文件的dependencies節點寫入依賴。
npm i module_name -D(--save-dev) # --save-dev 的意思是將模塊安裝到項目目錄下,並在package文件的devDependencies節點寫入依賴。
具體說明如下:
npm i
module_name
- 會把moudule_name包安裝到node_modules目錄中
- 不會修改package.json
- 之后運行npm i命令時,不會自動安裝moudule_name
npm i module_name -g
- 安裝模塊到全局,不會在項目node_modules目錄中保存模塊包。
- 不會將模塊依賴寫入devDependencies或dependencies 節點。
- 運行 npm i 初始化項目時不會下載模塊。
npm i
module_name
-S
- 會把moudule_name包安裝到node_modules目錄中
- 會在package.json的dependencies屬性下添加moudule_name
- 之后運行npm i命令時,會自動安裝moudule_name到node_modules目錄中
- 之后運行npm i --production或者注明NODE_ENV變量值為production時,會自動安裝msbuild到node_modules目錄中,即是在線上環境運行時會將包安裝
npm i
module_name
–D
- 會把moudule_name包安裝到node_modules目錄中
- 會在package.json的devDependencies屬性下添加moudule_name
- 之后運行npm i命令時,會自動安裝moudule_name到node_modules目錄中
- 之后運行npm i –production或者注明NODE_ENV變量值為production時,不會自動安裝moudule_name到node_modules目錄中
使用原則:
devDependencies 節點下的模塊是我們在開發時需要用的,比如項目中使用的 gulp ,壓縮css、js的模塊。這些模塊在我們的項目部署后是不需要的,所以我們可以使用-D的形式安裝。
像 emoudule_namepress 這些模塊是項目運行必備的,應該安裝在 dependencies 節點下,所以我們應該使用-S的形式安裝。總結為一句話:運行時需要用到的包使用–S,否則使用–D。
轉自:https://www.jianshu.com/p/920c1a6e999c