亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

升級到webpack4之后,每次修改代碼都會整個頁面刷新,而不是之前局部刷新了,如何解決?

升級到webpack4之后,每次修改代碼都會整個頁面刷新,而不是之前局部刷新了,如何解決?

森林海 2018-08-26 11:05:00
最近將項目的構建工具從webpack2升級到了webpack4。構建速度快了,生成的目標文件也小了很多。但是出現了一個煩人的問題,就是現在修改了任意代碼之后,瀏覽器都會整頁刷新,而不是之前webpack2的jsonp方式局部刷新,導致開發效率降低了很多。然后我找到了問題出在dev-derver.js的html-webpack-plugin相關的代碼這里:// force page reload when html-webpack-plugin template changescompiler.plugin('compilation', function (compilation) {     compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {debugger         hotMiddleware.publish({action: 'reload'})         cb()     }) })可能是webpack4中的html-webpack-plugin-after-emit事件的觸發機制不一樣了,導致webpack在每次修改任意代碼文件時,都會觸發html-webpack-plugin-after-emit事件,從而導致了整個頁面刷新?;蛘呤莣ebpack4的模塊引用機制不一樣了,導致單個文件修改后被錯誤識別為巨大的修改(入口模板修改?),而必須刷新整個頁面?我把這代碼去掉,確實可以解決每次都刷新整個頁面的問題,但是有時候確實需要整個頁面刷新時,它也不刷新了,需要手動F5刷新。經過嘗試各種辦法仍沒法解決。不知道有沒有人遇到過類似的問題?項目是基于vuejs + element-ui的。我上傳了完整代碼在github上: https://github.com/hzsrc/vue-...煩請各路高手們幫忙看下~
查看完整描述

2 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

vue-loader升級了嗎?熱加載機制是vue-loader實現的

查看完整回答
反對 回復 2018-08-27
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

最近將項目的引用組件全部升了一遍級,沒有再出現這個問題了。謝謝!

查看完整回答
反對 回復 2018-08-27
  • 2 回答
  • 0 關注
  • 1855 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號