詳解關(guān)于webpack多入口熱加載很慢的原因
之前為公司搭建了套webpack多頁面應(yīng)用腳手架,起初用得挺爽,資源整合打包,組件化開發(fā),各種組件復(fù)用,需要什么就拿什么,后來入口有50個頁面了,慢慢的發(fā)現(xiàn)了每次按保存后的熱加載等待時間越來越長,需要等待10幾秒,實在太影響開發(fā)效率,于是我查找原因。
觀察發(fā)現(xiàn),每次到熱加載時會在emitting HtmlWebpackPlugin這停留很久。

于是我想知道它到底停留了多長時間呢?
在package.json內(nèi)加入--profile,它會告訴你編譯過程中哪些步驟耗時最長。

停止npm,重新運行webpack-dev-server,修改下文件按保存,觀察控制臺,發(fā)現(xiàn)總花費時長為15035毫秒,在emitting就花費了13239毫秒,這emitting應(yīng)該就是指上面的圖片的emitting HtmlWebpackPlugin了,看來我們解決HtmlWebpackPlugin,熱加載速度就能恢復(fù)正常了。

HtmlWebpackPlugin就是我們?nèi)肟趯?yīng)的的html頁面,new的頁面越多,熱加載速度就會越慢。

我嘗試注釋掉所有html頁面,只留下一個案例詳情html頁面,重新啟動webpack-dev-server,修改文件按下保存,發(fā)現(xiàn)速度驚人,只用了772毫米,看來問題出在html-webpack-plugin這個插件上。


難道是我的html-webpack-plugin配置有問題嗎,于是我在網(wǎng)上尋找解決辦法,做了各種嘗試,直到我找到html-webpack-plugin的github上放棄尋找了,原來插件作者有發(fā)布幾十條lssues(鏈接https://github.com/jantimon/html-webpack-plugin/issues),其中就包括該插件的多頁面性能問題。

我嘗試點進問題談?wù)摾锩婵戳丝?,里面的談?wù)撘呀?jīng)不能算是怎樣配置html-webpack-plugin插件了,涉及webpack底層的東西,覺得沒必要去深究了,也讓人不得不思考webpack現(xiàn)在是否適合多頁面開發(fā)啊。。
總結(jié):
1、HtmlWebpackPlugin除了正在開發(fā)的頁面,其它注釋掉。
2、等待插件作者修復(fù)此問題。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js通過keyCode值判斷單擊鍵盤上某個鍵,然后觸發(fā)指定的事件方法
下面小編就為大家?guī)硪黄猨s通過keyCode值判斷單擊鍵盤上某個鍵,然后觸發(fā)指定的事件方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
window.open以post方式將內(nèi)容提交到新窗口
最近在做web項目,碰到需要跨頁面?zhèn)鬟f參數(shù)的功能,就是那種需要把當(dāng)前頁面的內(nèi)容帶到新開的子窗體中,以前的做法是傳一個id過去,然后在新窗口中去讀數(shù)據(jù)庫的內(nèi)容;比較有意思的是直接通過調(diào)用form的submit方法不能觸發(fā)onsubmit事件,查看了幫助文檔,必須手動的觸發(fā),否則只能看到頁面刷新而沒有打開新窗口2012-12-12
兼容Firefox的Javascript XSLT 處理XML文件
這篇文章主要介紹了兼容Firefox的Javascript XSLT 處理XML文件,需要的朋友可以參考下2014-12-12
javascript實現(xiàn)unicode與ASCII相互轉(zhuǎn)換的方法
這篇文章主要介紹了javascript實現(xiàn)unicode與ASCII相互轉(zhuǎn)換的方法,涉及JavaScript字符串的遍歷、正則匹配及編碼轉(zhuǎn)換相關(guān)技巧,需要的朋友可以參考下2015-12-12
JS實現(xiàn)轉(zhuǎn)動隨機數(shù)抽獎特效代碼
這篇文章主要為大家詳細介紹了一款轉(zhuǎn)動隨機數(shù)抽獎的JS特效代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-08-08
JavaScript獲取radio選中值的幾種常用方法小結(jié)
這篇文章主要介紹了JavaScript獲取radio選中值的幾種常用方法,結(jié)合實例形式總結(jié)分析了javascript獲取radio選中值的常見實現(xiàn)方法與操作注意事項,需要的朋友可以參考下2023-06-06
JS+CSS實現(xiàn)分類動態(tài)選擇及移動功能效果代碼
這篇文章主要介紹了JS+CSS實現(xiàn)分類動態(tài)選擇及移動功能效果代碼,涉及JavaScript實現(xiàn)頁面元素動態(tài)變換效果實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10

