npm install 和 npm i 是一樣
--save 和 -S 是一樣
--save-dev 和 -D 是一樣的
區(qū)別:
--save 和 -S安裝運(yùn)行依賴
--save-dev 和 -D 安裝開發(fā)依賴(只是開發(fā)階段使用)
在package.json文件中
dependencies是運(yùn)行時依賴概作,devDependencies是開發(fā)時的依賴腋妙。譬如:
{
"dependencies": {
"vue": "^2.2.1"
},
"devDependencies": {
"babel-core": "^6.0.0",
"babel-loader": "^6.0.0",
"babel-preset-latest": "^6.0.0",
"cross-env": "^3.0.0",
"css-loader": "^0.25.0",
"file-loader": "^0.9.0",
"vue-loader": "^11.1.4",
"vue-template-compiler": "^2.2.1",
"webpack": "^2.2.0",
"webpack-dev-server": "^2.2.0"
}
}
舉例:
像jQuery庫或者Angular框架類似的,我們在開發(fā)完后后肯定還要依賴它們讯榕,否則就運(yùn)行不了骤素,這是dependencies匙睹。而寫 ES6 代碼,需要babel轉(zhuǎn)換成es5济竹,轉(zhuǎn)換完成后痕檬,我們只需要轉(zhuǎn)換后的代碼,上線的時候送浊,直接把轉(zhuǎn)換后的代碼部署上線梦谜,不需要babel了,上線了不需要袭景,這就是devDependencies唁桩。
而如果用了 jQuery,由于發(fā)布之后還是依賴jQuery耸棒,所以是dependencies朵夏。
總結(jié):
-S, --save 安裝包信息將加入到dependencies(生產(chǎn)階段的依賴,也就是項目運(yùn)行時的依賴,就是程序上線后仍然需要依賴)
-D, --save-dev 安裝包信息將加入到devDependencies(開發(fā)階段的依賴榆纽,就是我們在開發(fā)過程中需要的依賴,只在開發(fā)階段起作業(yè)的)
補(bǔ)充:
正常使用npm install時捏肢,會下載dependencies和devDependencies中的模塊奈籽,當(dāng)使用npm install –production或者注明NODE_ENV變量值為production時,只會下載dependencies中的模塊鸵赫。