1. 程式人生 > >package.json中的devDependencies和dependencies有啥區別?

package.json中的devDependencies和dependencies有啥區別?

有一個 -- 打包 如何 -s 現在 版本 目錄 json

如果你的項目是發布到npm的一個包

那麽這個包的package.json中的dependencies中的依賴是會被下載下來到這個包的node_modules文件夾中的(如果你的項目本身沒有這個依賴),而devDependencies不會。

舉個例子:
我發布了一個組件A,它有dependencies:lodashdevDependencies:moment
當在某個項目中npm install 組件A時,如果項目本身也依賴lodash並且項目依賴的lodash版本與A組件依賴的lodash版本一致,那麽項目的node_modules/A下會有一個node_modules,裏面會有lodash
moment

,則無論如何也不會出現在你的項目中。

至於一般的項目,不管你是安裝在dev還是dependencies中,安裝的時候都會安裝,打包的時候都會被打進去的,區分依賴只是為了讓項目看起來更加清晰。

npm install --save * //會下載到node_modules目錄中,會修改package.json dependencies會增加
npm install --save-dev **//會下載到node_modules目錄中,會修改package.json ,devDependencies會增加
npm install **// 會下載到node_modules目錄中,不會修改package.json
npm install //會默認安裝兩種依賴
npm install * --save //會下載到node_modules目錄中,會修改package.json dependencies會增加

package.json中的devDependencies和dependencies有啥區別?