1.npm install X
- 安裝X到項目的node_modules文件夾
- 會修改package.json,在dependencies中寫入依賴。(關於這一點,網上的大部分文章都是說,不會修改package.json,筆者通過實踐發現,是會在dependencies中寫入依賴的)
- npm install會自動安裝X。(網上都說不會自動安裝,實踐是會自動安裝的。筆者將項目的node_modules文件夾刪除之後,重新運行npm install,發現X被安裝了)
2.npm install -g X
- 安裝模塊到全局,一般是安裝到node的安裝目錄的node_modules。如果配置了全局目錄,就會安裝到全局目錄的node_modules目錄
- 不會修改package.json,不會將模塊依賴寫入devDependencies或dependencies 節點
- npm install不會自動安裝X
3.npm install X --save
- 安裝X到項目的node_modules文件夾
- 會修改package.json,在dependencies中寫入依賴
- npm install會自動安裝X
- 運行npm install --production或者註明NODE_ENV變量值爲production時,會自動下載模塊到node_modules目錄中
3.npm install X --save-dev
- 安裝X到項目的node_modules文件夾
- 會修改package.json,在devDependencies中寫入依賴
- npm install會自動安裝X
- 運行npm install --production或者註明NODE_ENV變量值爲production時,不會自動下載模塊到node_modules目錄中。
總結:
devDependencies 節點下的模塊是我們在開發時需要用的,比如項目中使用構建工具webkpack、 gulp ,用來輔助壓縮js、css、html等。這些模塊在我們的項目部署後是不需要的,所以我們可以使用 --save-dev 的形式安裝;像 bootstrap、vue、angular、express 這些模塊是項目運行必備的,應該安裝在 dependencies 節點下,所以我們應該使用 --save 的形式安裝;工具類的比如構建工具gulp,需要使用命令來運行任務,則需要使用—global來安裝。