一直在使用npm包管理器,對于npm install module --save-dev 和 npm install module --save這兩個的區(qū)別做了一些淺析的理解:
package.json中各字段含義簡介
這是兩個十分重要的字段澜掩,是必填項,他們組成了npm包的唯一標(biāo)識符听哭,包內(nèi)容變更的同時慢洋,version值也需要一起變更
對于你npm包的簡略描述塘雳。可以通過npm search來進行搜索
npm包的關(guān)鍵詞普筹,可以通過npm search來進行搜索
項目官網(wǎng)的url地址败明,可有可無
填寫一個bug提交的url地址和一個郵箱地址,這樣方便使用者碰到項目bug時及時通知你 例如:
{"url":"http://blackgan3.github.io","email":"xuegan@58qf.com"}
dependencies屬性被聲明在一個簡單的對象中太防,用來控制包名在一定的版本范圍內(nèi)妻顶,版本范圍是一個字符串,可以被一個或多個空格分割蜒车。dependencied也可以被指定為一個壓縮包地址或者一個 git URL 地址讳嘱。
不要把測試工具或transpilers轉(zhuǎn)義器(babel, webpack, gulp, postcss...)寫到dependencies中。 (這些應(yīng)該寫到devDependencies)配置中酿愧,因為在別的項目中npm install 該包的時候會去下載dependencies中的依賴沥潭。
如果你的包被別人依賴或者安裝時,在對方主項目中進行npm install便不會安裝依賴包中的devDependencies中的npm包嬉挡,所以如果你的項目中依賴的一些包不是在使用該項目時必須進行安裝的钝鸽,那就將包放在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)境并不會進行安裝。
首先揪阶,--save和--save-dev可以省掉我們手動修改package.json文件的步驟昌抠。我們使用的一些打包工具、非項目必須依賴的都放在devDependencies中鲁僚。