package.json中dependencies與devDependencies的區別
不管是react還是vue專案(基於node.js),在工作中在git上拉取別人的專案程式碼檔案後,都需要npm install 安裝一下專案執行的依賴包。在後續的工作中我們可能要用到各種各樣的外掛等,我們就需要在開發或者生產環境下安裝相應的依賴包。
關於npm安裝的包依賴管理的問題。單個依賴包管理是這樣的:
我們在使用npm install 安裝模組或外掛的時候,有兩種命令把他們寫入到 package.json 檔案裡面去,他們是:
--save-dev
或
--save
首先需要說明的是Dependencies一詞的中文意思是依賴和附屬的意思,而dev則是
develop(開發)的簡寫。
所以它們的區別在 package.json 檔案裡面體現出來的就是,使用 --save-dev 安裝的 外掛,被寫入到 devDependencies 域裡面去,而使用 --save 安裝的外掛,則是被寫入到 dependencies 區塊裡面去。
那 package.json 檔案裡面的 devDependencies 和 dependencies 物件有什麼區別呢?
npm install 【外掛名】或 npm install 【外掛名】--save 歸屬dependencies,表示程式碼執行時所需要的包。
npm install 【外掛名】--save-dev 歸屬 devDependencies,表示開發時依賴的外掛(即不會打包至線上)。
devDependencies 裡面的外掛只用於開發環境,不用於生產環境,而 dependencies 是需要釋出到生產環境的。
比如我們寫一個專案要依賴於jQuery,沒有這個包的依賴執行就會報錯,這時候就把這個依賴寫入dependencies ;
而我們使用的一些構建工具比如glup、webpack這些只是在開發中使用的包,上線以後就和他們沒關係了,所以將它寫入devDependencies。
原文:https://blog.csdn.net/zDeer520/article/details/73431295?utm_source=copy