npm install有以下幾種方式:
npm install moduleName # 安裝模塊到項(xiàng)目目錄下
npm install -g moduleName # -g 的意思是將模塊安裝到全局,具體安裝到磁盤哪個(gè)位置,要看 npm config prefix 的位置。
npm install --save moduleName # --save 的意思是將模塊安裝到項(xiàng)目目錄下,并在package文件的dependencies節(jié)點(diǎn)寫入依賴。
npm install --save-dev moduleName # --save-dev 的意思是將模塊安裝到項(xiàng)目目錄下,并在package文件的devDependencies節(jié)點(diǎn)寫入依賴。
具體說明如下:
npm install X -g
- 安裝模塊到全局,不會在項(xiàng)目node_modules目錄中保存模塊包。
- 不會將模塊依賴寫入devDependencies或dependencies 節(jié)點(diǎn)。
- 運(yùn)行 npm install 初始化項(xiàng)目時(shí)不會下載模塊。
npm install X
- 會把X包安裝到node_modules目錄中
- 不會修改package.json
- 之后運(yùn)行npm install命令時(shí),不會自動安裝X
npm install X --save
- 會把X包安裝到node_modules目錄中
- 會在package.json的dependencies屬性下添加X
- 之后運(yùn)行npm install命令時(shí),會自動安裝X到node_modules目錄中
- 之后運(yùn)行npm install --production或者注明NODE_ENV變量值為production時(shí),會自動安裝msbuild到node_modules目錄中,即是在線上環(huán)境運(yùn)行時(shí)會將包安裝
npm install X –save-dev
- 會把X包安裝到node_modules目錄中
- 會在package.json的devDependencies屬性下添加X
- 之后運(yùn)行npm install命令時(shí),會自動安裝X到node_modules目錄中
- 之后運(yùn)行npm install –production或者注明NODE_ENV變量值為production時(shí),不會自動安裝X到node_modules目錄中
使用原則:
devDependencies 節(jié)點(diǎn)下的模塊是我們在開發(fā)時(shí)需要用的,比如項(xiàng)目中使用的 gulp ,壓縮css、js的模塊。這些模塊在我們的項(xiàng)目部署后是不需要的,所以我們可以使用--save-dev的形式安裝。像 express 這些模塊是項(xiàng)目運(yùn)行必備的,應(yīng)該安裝在 dependencies 節(jié)點(diǎn)下,所以我們應(yīng)該使用--save的形式安裝。
總結(jié)為一句話:運(yùn)行時(shí)需要用到的包使用––save,否則使用––save-dev。