package.json中的devDependencies和dependencies有啥區別?
阿新 • • 發佈:2019-01-29
有一個 -- 打包 如何 -s 現在 版本 目錄 json ,則無論如何也不會出現在你的項目中。
如果你的項目是發布到npm
的一個包,
那麽這個包的package.json
中的dependencies
中的依賴是會被下載下來到這個包的node_modules
文件夾中的(如果你的項目本身沒有這個依賴),而devDependencies
不會。
舉個例子:
我發布了一個組件A
,它有dependencies:lodash
和devDependencies: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有啥區別?