npm命令區(qū)別:--save,--save-dev,--global,-g,npm init -y,查看,修改@詩(shī)書畫唱


常用命令:
npm init -y :創(chuàng)建package.json這個(gè)文件
?
使用 npm init -y這個(gè)cmd命令可以初始化package.json(我自己試過,單單用npm init 是不可以創(chuàng)建package.json這個(gè)文件的。至于-y,--或-等等的意思暫時(shí)可以不用知道,這些看成創(chuàng)作內(nèi)容的作者的規(guī)定就可以。)
?

?
?

一、我們?cè)谑褂?npm install 安裝模塊的模塊的時(shí)候 ,一般會(huì)使用下面這幾種命令形式:
?
? ? npm install moduleName : 安裝模塊到項(xiàng)目目錄下
? ? npm install moduleName -g: -g 將模塊安裝到全局,具體安裝到磁盤哪個(gè)位置,要看npm config prefix的位置。查看:npm config ls,修改:npm config set prefix.
【-g和--global都表示全局安裝,安裝后以后就可以不用再安裝了,達(dá)到一勞永逸的效果。-后面接長(zhǎng)字符串,--后面接短字符串,個(gè)人理解成是一種習(xí)慣風(fēng)格, --global 或-g的在cmd命令的位置可以自定義,總之不一定在結(jié)尾,空格等的方面要注意不用寫錯(cuò)了。】
? ? npm install moduleName --save:(簡(jiǎn)寫:-S) -save 將模塊安裝到項(xiàng)目目錄下,并在package文件的dependencies屬性寫入依賴。
? ? npm install moduleName --save-dev :(簡(jiǎn)寫:-D) -save-dev 將模塊安裝到項(xiàng)目目錄下,并在package文件的devDependencies屬性寫入依賴。
?
二、命令的區(qū)別
?
npm install moduleName 命令
1. 安裝模塊到項(xiàng)目node_modules目錄下。
2. 不會(huì)修改package.json文件。
3. 運(yùn)行 npm install 初始化項(xiàng)目時(shí)不會(huì)下載模塊。
?
npm install moduleName -g 命令
1. 安裝模塊到全局,不會(huì)在項(xiàng)目node_modules目錄中保存模塊包。
2. 不會(huì)修改package.json文件。
3. 運(yùn)行 npm install 初始化項(xiàng)目時(shí)不會(huì)下載模塊。
npm install moduleName --save 命令
1. 安裝模塊到項(xiàng)目node_modules目錄下。
2. 會(huì)在package.json文件的dependencies 屬性將模塊依賴寫入。
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? moduleName --save-dev 命令
1. 安裝模塊到項(xiàng)目node_modules目錄下。
2. 會(huì)在package.json文件的devDependencies 屬性將模塊依賴寫入。
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é)
使用原則:運(yùn)行時(shí)需要用到的包使用--save,否則使用--save-dev。
devDependencies 屬性下的模塊是我們?cè)陂_發(fā)時(shí)需要用的,比如項(xiàng)目中使用的 gulp ,壓縮css、js的模塊。這些模塊在我們的項(xiàng)目部署后是不需要的,所以我們可以使用 -save-dev 的形式安裝。
像 express 這些模塊是項(xiàng)目運(yùn)行必備的,應(yīng)該安裝在 dependencies 屬性下,所以我們應(yīng)該使用 -save 的形式安裝。