鍍金池/ 問答/Linux  HTML/ webpack打包的問題

webpack打包的問題

我最近在是使用webpack的時(shí)候,有一個(gè)疑問,就是我安裝依賴的時(shí)候,
如果使用npm install --save webpack,會(huì)在package.json里的dependencies展示剛剛安裝的依賴,這是生產(chǎn)環(huán)境需要的依賴
如果使用npm install --save-dev webpack,會(huì)在package.json里的devDependencies展示剛剛安裝的依賴,這是開發(fā)環(huán)境需要的依賴
但是如果我使用npm install webpack時(shí),package.json里什么都沒有,請(qǐng)問我安裝的依賴去哪了,去了生成環(huán)境還是開發(fā)環(huán)境?為什么不顯示在package.json里呢?
另:如果一個(gè)依賴是生產(chǎn)環(huán)境需要,本地開發(fā)也需要,那么是兩者要分別安裝,還是怎么弄?

回答
編輯回答
久舊酒

你安裝的依賴一直都在 node_modules 里面, package.json 只是記錄你項(xiàng)目有哪些依賴. 如果依賴是生產(chǎn)環(huán)境需要,本地開發(fā)也需要, 那你最好是記錄在 dependencies 里, 確保用戶利益為主. 不管你記錄在 dependencies 還是 devDependencies , 在執(zhí)行 npm install 的時(shí)候這些依賴都會(huì)被下載到 node_modules 里, 在使用過程中是沒有任何區(qū)別的.

2017年9月20日 05:44
編輯回答
失心人

你確定你沒弄錯(cuò)嗎 --save 是生產(chǎn) dependencies --save-dev是開發(fā) devDependencies

2017年8月22日 14:13
編輯回答
汐顏

感覺你的理解偏差了,npm install 后,無論后面有沒有--save或者--save-dev,都會(huì)安裝到node_modules。

  1. 運(yùn)行npm install 初始化項(xiàng)目時(shí),會(huì)將dependencies和devDependencies的模塊都下載到項(xiàng)目目錄下。
  2. 運(yùn)行npm install --production或者注明NODE_ENV變量值為production時(shí),--save-dev(devDependencies)的包不會(huì)自動(dòng)下載模塊到node_modules目錄中,但是--save(dependencies)對(duì)應(yīng)的包會(huì)
  3. 本質(zhì)上,devDependencies里面的是開發(fā)時(shí)候輔助的腳手架,不參與代碼正式運(yùn)行的,比如autoprefixer,gulp之類的,代碼打包后,線上代碼是用不到的,但是類似于vue,axios之類的庫,線上代碼是要依賴這些庫執(zhí)行的,所以要放到dependencies中。
  4. 對(duì)于項(xiàng)目需要用到的包,無論是dependencies或者devDependencies,都要加到package.json,因?yàn)閯e的同事拿到你這份代碼,他想要運(yùn)行的話,是要先安裝對(duì)應(yīng)的包,而需要的包都記錄在了package.json中
2018年7月30日 21:59