npm install 時--save-dev和--save的區(qū)別

一直在使用npm包管理器,對于npm install module --save-dev 和 npm install module --save這兩個的區(qū)別做了一些淺析的理解:

package.json中各字段含義簡介

name和version

這是兩個十分重要的字段,是必填項,他們組成了npm包的唯一標(biāo)識符,包內(nèi)容變更的同時,version值也需要一起變更

description

對于你npm包的簡略描述。可以通過npm search來進(jìn)行搜索

keywords

npm包的關(guān)鍵詞,可以通過npm search來進(jìn)行搜索

homepage

項目官網(wǎng)的url地址,可有可無

bugs

填寫一個bug提交的url地址和一個郵箱地址,這樣方便使用者碰到項目bug時及時通知你 例如:

{"url":"http://blackgan3.github.io","email":"xuegan@58qf.com"}

dependencies

dependencies屬性被聲明在一個簡單的對象中,用來控制包名在一定的版本范圍內(nèi),版本范圍是一個字符串,可以被一個或多個空格分割。dependencied也可以被指定為一個壓縮包地址或者一個 git URL 地址。

不要把測試工具或transpilers轉(zhuǎn)義器(babel, webpack, gulp, postcss...)寫到dependencies中。 (這些應(yīng)該寫到devDependencies)配置中,因為在別的項目中npm install 該包的時候會去下載dependencies中的依賴。

devDependencies

如果你的包被別人依賴或者安裝時,在對方主項目中進(jìn)行npm install便不會安裝依賴包中的devDependencies中的npm包,所以如果你的項目中依賴的一些包不是在使用該項目時必須進(jìn)行安裝的,那就將包放在devDependencies中。

整體功能比較

npm install module:

會把module包安裝到node_modules目錄中

不會修改package.json

之后運行npm install 命令時,不會自動安裝module包

npm install module --save

會把module包安裝到node_modules目錄匯總

會修改package.json,將模塊名和版本號添加到dependencies部分

之后運行npm install 命令時,會自動安裝module包

之后運行npm install --production或者注明NODE_ENV變量值為production時,會自動安裝 module到node_modules目錄中,即是在線上環(huán)境運行時會將包安裝

npm install module --save-dev

會把module包安裝到node_modules目錄匯總

會修改package.json,將模塊名和版本號添加到devDependencies部分

之后運行npm install 命令時,會自動安裝module包

之后運行npm install --production或者注明NODE_ENV變量值為production時,不會自動安裝msbuild到node_modules目錄中,即是在線上環(huán)境并不會進(jìn)行安裝。

首先,--save和--save-dev可以省掉我們手動修改package.json文件的步驟。我們使用的一些打包工具、非項目必須依賴的都放在devDependencies中。

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

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

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