一直在使用npm包管理器,對于npm install module --save-dev 和 npm install module --save這兩個的區(qū)別做了一些淺析的理解:
package.json中各字段含義簡介
這是兩個十分重要的字段,是必填項,他們組成了npm包的唯一標(biāo)識符,包內(nèi)容變更的同時,version值也需要一起變更
對于你npm包的簡略描述。可以通過npm search來進(jìn)行搜索
npm包的關(guān)鍵詞,可以通過npm search來進(jìn)行搜索
項目官網(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中的依賴。
如果你的包被別人依賴或者安裝時,在對方主項目中進(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中。