鍍金池/ 問答/HTML/ dependencies devDependencies區(qū)別到底是什么???

dependencies devDependencies區(qū)別到底是什么???

翻了很多答案,都說dependencies是生產(chǎn)環(huán)境依賴,
devDependencies是開發(fā)環(huán)境依賴。

問題是:如果我把開發(fā)環(huán)境依賴裝到dependencies里會怎么樣??說白了就是到底是什么使他們一個用于生產(chǎn)環(huán)境,一個用于開發(fā)環(huán)境??難道例如webpack在打包的時候會區(qū)別對待這兩個類型的包嗎?
例如,我用vue-cli打包項目的時候,如果把less-loader裝到dependencies里會怎么樣?

另外多問一個:vue-cli打包的時候怎么分辨把哪些依賴打包到vendor哪些打包到app里的??

回答
編輯回答
哚蕾咪

npm 是本來設(shè)計用來服務(wù)于Node.js包管理的。

  1. 在開發(fā)一個模塊的時候,有些模塊需要在發(fā)布的時候也被依賴進去, 例如: 你寫了一個 proxy的插件,依賴了 request模塊,這個時候,發(fā)布以后如果別人使用必須同時安裝 request 模塊,這個就是 dependencies
  2. 還是在開發(fā)一個模塊的時候, 如果這個時候你需要搞一個工具檢查你寫的代碼格式好不好啦,搞點測試用例咯,或者,你要用typescript神馬的編譯一下咯, 用戶使用的時候呢,根本不需要這些玩意兒,只要有編譯結(jié)果代碼就夠了, 這些模塊依賴就在 devDependencies

PS: 在前端開發(fā)的時候,一般情況下,都是只在開發(fā)環(huán)境需要的東西也就是 devDependencies,有些人會習(xí)慣于把前端需要的東西放在 dependencies,如此而已。 你直接npm install,會把兩種依賴一并安裝,所以更加無所謂了。

2018年7月17日 09:47
編輯回答
拼未來

打包生產(chǎn)環(huán)境資源時, dependencies 中的依賴會被打包,而 devDependencies 中的依賴不會被打包。

開發(fā)環(huán)境依賴安裝到 dependencies ,本地和生產(chǎn)環(huán)境都沒問題,就是文件會大一點而已。

生產(chǎn)環(huán)境依賴安裝到 devDependencies,本地沒啥問題,生產(chǎn)環(huán)境會因為缺少依賴而無法正常運行。

2017年8月5日 18:20