本文原文地址:https://www.limitcode.com/detail/59a15b1a69e95702e0780249.html
回顧 npm install 命令
最近在寫Node程序的時(shí)候,突然對(duì) npm install 的-save和-save-dev 這兩個(gè)參數(shù)的使用比較混亂。其實(shí)博主在這之前對(duì)這兩個(gè)參數(shù)的理解也是模糊的,各種查資料和實(shí)踐后對(duì)它們之間的異同點(diǎn)略有理解血筑。遂寫下這篇文章避免自己忘記叔汁,同時(shí)也給node猿友一點(diǎn)指引养葵。
我們?cè)谑褂?npm install 安裝模塊的模塊的時(shí)候 蜒什,一般會(huì)使用下面這幾種命令形式:
那么問題來(lái)了拇泛,在項(xiàng)目中我們應(yīng)該使用四個(gè)命令中的哪個(gè)呢荣倾?這個(gè)就要視情況而定了悯搔。下面對(duì)這四個(gè)命令進(jìn)行對(duì)比,看完后你就不再這么問了舌仍。
npm install moduleName 命令
1. 安裝模塊到項(xiàng)目node_modules目錄下妒貌。
2. 不會(huì)將模塊依賴寫入devDependencies或dependencies 節(jié)點(diǎn)。
3. 運(yùn)行 npm install 初始化項(xiàng)目時(shí)不會(huì)下載模塊铸豁。
npm install -g moduleName 命令
1. 安裝模塊到全局灌曙,不會(huì)在項(xiàng)目node_modules目錄中保存模塊包。
2. 不會(huì)將模塊依賴寫入devDependencies或dependencies 節(jié)點(diǎn)节芥。
3. 運(yùn)行 npm install 初始化項(xiàng)目時(shí)不會(huì)下載模塊在刺。
npm install -save moduleName 命令
1. 安裝模塊到項(xiàng)目node_modules目錄下。
2. 會(huì)將模塊依賴寫入dependencies 節(jié)點(diǎn)头镊。
3. 運(yùn)行 npm install 初始化項(xiàng)目時(shí)蚣驼,會(huì)將模塊下載到項(xiàng)目目錄下。
4. 運(yùn)行npm install --production或者注明NODE_ENV變量值為production時(shí)相艇,會(huì)自動(dòng)下載模塊到node_modules目錄中颖杏。
npm install -save-dev moduleName 命令
1. 安裝模塊到項(xiàng)目node_modules目錄下。
2. 會(huì)將模塊依賴寫入devDependencies 節(jié)點(diǎn)厂捞。
3. 運(yùn)行 npm install 初始化項(xiàng)目時(shí)输玷,會(huì)將模塊下載到項(xiàng)目目錄下。
4. 運(yùn)行npm install --production或者注明NODE_ENV變量值為production時(shí)靡馁,不會(huì)自動(dòng)下載模塊到node_modules目錄中欲鹏。
總結(jié)
devDependencies 節(jié)點(diǎn)下的模塊是我們?cè)陂_發(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 的形式安裝损晤。
作者:暗夜余暉
本文版權(quán)歸作者所有,歡迎轉(zhuǎn)載红竭,但未經(jīng)作者同意必須保留此段聲明尤勋,且在文章頁(yè)面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利茵宪。