在使用npm安裝模塊時-g --save --save-dev有什么區(qū)別

對 npm install 的-save和-save-dev 這兩個參數(shù)的使用比較混亂。其實(shí)博主在這之前對這兩個參數(shù)的理解也是模糊的,各種查資料和實(shí)踐后對它們之間的異同點(diǎn)略有理解,遂寫下這篇文章避免自己忘記。

我們在使用 npm install 安裝模塊的模塊的時候 ,一般會使用下面這幾種命令形式:

npm install moduleName # 安裝模塊到項(xiàng)目目錄下
npm install -g moduleName # -g 的意思是將模塊安裝到全局,具體安裝到磁盤哪個位置,要看 npm config prefix 的位置,具體查看方法是在終端輸入npm config edit,在彈出的文檔中找到; prefix=C:\node,就是了。
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 moduleName 命令

  1. 安裝模塊到全局,不會在項(xiàng)目node_modules目錄中保存模塊包。
  2. 不會將模塊依賴寫入devDependencies或dependencies 節(jié)點(diǎn)。
  3. 運(yùn)行 npm install 初始化項(xiàng)目時不會下載模塊。

npm install -save moduleName 命令

  1. 安裝模塊到項(xiàng)目node_modules目錄下。
  2. 會將模塊依賴寫入dependencies 節(jié)點(diǎn)。
  3. 運(yùn)行 npm install 初始化項(xiàng)目時,會將模塊下載到項(xiàng)目目錄下。
  4. 運(yùn)行npm install --production或者注明NODE_ENV變量值為production時,會自動下載模塊到node_modules目錄中。

npm install -save-dev moduleName 命令

  1. 安裝模塊到項(xiàng)目node_modules目錄下。
  2. 會將模塊依賴寫入devDependencies 節(jié)點(diǎn)。
  3. 運(yùn)行 npm install 初始化項(xiàng)目時,會將模塊下載到項(xiàng)目目錄下。
  4. 運(yùn)行npm install --production或者注明NODE_ENV變量值為production時,不會自動下載模塊到node_modules目錄中。

總結(jié)

devDependencies 節(jié)點(diǎn)下的模塊是我們在開發(fā)時需要用的,比如項(xiàng)目中使用的 gulp ,壓縮css、js的模塊。這些模塊在我們的項(xiàng)目部署后是不需要的,所以我們可以使用 --save-dev 的形式安裝。像 express 這些模塊是項(xiàng)目運(yùn)行必備的,應(yīng)該安裝在 dependencies 節(jié)點(diǎn)下,所以我們應(yīng)該使用 --save 的形式安裝。

最大的區(qū)別就是,在生產(chǎn)環(huán)境,使用npm install --production安裝 dependencies 部分的模塊,
在開發(fā)環(huán)境,npm i ,安裝所有devDependencies 和 dependencies里面的模塊

所以,在生產(chǎn)環(huán)境,就不需要安裝 gulp ,webpack 這樣的模塊,可以通過這種方法區(qū)分

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容