-S
即--save(保存)
包名會被注冊在package.json的dependencies里面,在生產環境下這個包的依賴依然存在。
-D
即--dev(生產)
包名會被注冊在package.json的devDependencies里面,僅在開發環境下存在的包用-D,如babel、sass-loader這些解析器
啥也不寫
包名不會進入package.json里面,因此別人不知道安裝了這個包,不建議這樣。
npm install -d就是npm install --save-dev 安裝到開發環境,例如gulp、babel、webpack一般是輔助工具
npm install -s就是npm install --save 安裝到生產環境,如vue,react等
npm i與npm install -s與-d的區別:
npm i module_name -S => npm install module_name --save 寫入到dependencies對象
npm i module_name -D => npm install module_name --save-dev 寫入到devDependencies對象
npm i module_name -g 全局安裝
i是install的簡寫
-S是--save的簡寫
-D是--save-dev的簡寫
devDependencies中的插件只用於開發環境,不用於生產環境,而dependencies是需要發布到生產環境的。像gulp、babel、webpack這些壓縮代碼、打包的工具,在實際運行中不需要,所以用-D;想elementui、echarts這些插件在實際運行中也是需要的,所以用-S。
package-lock.json文件:存放之前下載過的一些包的數據,方便下次安裝的時候快速找到。