最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Webpack多頁應(yīng)用HMR卡住問題

 更新時(shí)間:2019年04月24日 11:54:00   作者:朝陽銀槍小霸王  
這篇文章主要介紹了淺談Webpack多頁應(yīng)用HMR卡住問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

起因

在公司搭建了套webpack多頁面應(yīng)用腳手架,開始用著很爽,解決了既想使用Vue的模塊化開發(fā),又想做多頁打包上線管理的初衷,但是隨著業(yè)務(wù)項(xiàng)目的增加,我發(fā)現(xiàn)npm run dev的時(shí)候,每次熱加載,webpack的反應(yīng)都很慢。

基本會卡在

94% assets optimization95% emitting

這個(gè)步驟很久

準(zhǔn)備具體定位一下問題的原因。由于項(xiàng)目基于vue-cli改寫的多頁應(yīng)用腳手架,手動(dòng)重寫了HtmlWebpackPlugin插件,所以基本猜測和這個(gè)有關(guān),后來證明也真的是這個(gè)引起的。

我們可以在package.json中啟動(dòng)dev的時(shí)候添加--profile命令,去看啟動(dòng)的詳情。

我們可以看到,asset optimization過程耗時(shí)2s左右,有時(shí)候會更長,所以基本確定就是這個(gè)地方卡住了HMR。

那么問題來了,怎么優(yōu)化這里?

優(yōu)化思路-1

第一想法是,在dev的時(shí)候,加入?yún)?shù)或手動(dòng)更改config,只針對當(dāng)前開發(fā)的項(xiàng)目進(jìn)行模塊的加載。

更改webpack配置是比較直接的方案,比如把當(dāng)前啟動(dòng)的目錄配置好(buildingPage), new HtmlWEbpackPlugin的時(shí)候進(jìn)行判斷即可。

第二個(gè)方案,當(dāng)然也可以手寫webpack-dev-server。

dev-server這個(gè)在老版本是在build目錄下面的,比較方便改動(dòng)重寫,然而新的版本,是在node_modules中的已經(jīng)加載的模塊,

重寫的話需要自己把這個(gè)東東搞一套,加入?yún)?shù)進(jìn)行判斷處理,本人還沒有時(shí)間進(jìn)行嘗試,如果有人有時(shí)間的可以試試能否改善HMR效率。

實(shí)踐證明第一個(gè)方案確實(shí)會提高HMR速度,但由于項(xiàng)目是多人共同開發(fā)和維護(hù),每個(gè)開發(fā)者更改自己的config配置,極容易造成提交svn\git沖突,或忘記修改config等狀況,所以除了個(gè)人維護(hù)的項(xiàng)目,并不建議這么做。

優(yōu)化思路-2

其實(shí)這個(gè)問題的具體原因就是改為多入口之后,在HtmlWebpackPlugin中會對每一個(gè)入口文件都執(zhí)行一遍emit中所有代碼邏輯,正是這個(gè)原因影響了速度。

在看一些參考資料之后,我發(fā)現(xiàn)已經(jīng)有現(xiàn)有的造輪子可以使用了,就是 [html-webpack-plugin-for-multihtml] (https://github.com/daifee/html-webpack-plugin-for-multihtml)

該插件通過在webpack done鉤子函數(shù)中設(shè)置相關(guān)變量,來保證原h(huán)tml-webpack-plugin插件中emit僅觸發(fā)一次全部流程。來達(dá)到提速的效果。升級以后,修改文案,HMR的速度從原來的秒級改為毫秒級。

可以看出 asset optimization已經(jīng)優(yōu)化到毫秒級。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • bootstrapValidator自定驗(yàn)證方法寫法

    bootstrapValidator自定驗(yàn)證方法寫法

    這篇文章主要為大家詳細(xì)介紹了bootstrapValidator自定驗(yàn)證方法寫法,研究bootstrapValidator驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • jquery 實(shí)現(xiàn)輸入郵箱時(shí)自動(dòng)補(bǔ)全下拉提示功能

    jquery 實(shí)現(xiàn)輸入郵箱時(shí)自動(dòng)補(bǔ)全下拉提示功能

    大家在做Web項(xiàng)目,都會有注冊登錄模塊,如果是郵箱注冊,想要在輸入@后觸發(fā)下拉框顯示各個(gè)郵箱的功能。下面介紹一款jQuery實(shí)現(xiàn)輸入郵箱的時(shí)候,可自動(dòng)補(bǔ)全郵箱地址,也可稱為是“輸入提示”的功能,比如輸入aaa時(shí),自動(dòng)變成aaa@163.com,有效提升網(wǎng)頁的人性化體驗(yàn)
    2015-10-10
  • JS解決position:sticky的兼容性問題的方法

    JS解決position:sticky的兼容性問題的方法

    本篇文章主要介紹了JS解決position:sticky的兼容性問題的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • uniapp封裝axios的詳細(xì)過程(大可不必那么麻煩)

    uniapp封裝axios的詳細(xì)過程(大可不必那么麻煩)

    在uniapp中使用axios進(jìn)行請求時(shí),uniapp無法使用axios的適配器,下面這篇文章主要給大家介紹了關(guān)于uniapp封裝axios的詳細(xì)過程,需要的朋友可以參考下
    2022-10-10
  • JavaScript學(xué)習(xí)筆記(十)

    JavaScript學(xué)習(xí)筆記(十)

    今天學(xué)習(xí)的是window對象,還是有點(diǎn)用的。
    2010-01-01
  • javascript css styleFloat和cssFloat

    javascript css styleFloat和cssFloat

    在寫js操作css的過程中發(fā)現(xiàn)float屬性在IE和firefox下對應(yīng)的js腳本是不一樣的,IE下對應(yīng)得是 styleFloat,firefox,chorme,safari下對應(yīng)的是cssFloat,可用in運(yùn)算符去檢測style是否包含此屬性。
    2010-03-03
  • 簡化版手機(jī)端照片預(yù)覽組件

    簡化版手機(jī)端照片預(yù)覽組件

    這篇文章主要介紹了簡化版手機(jī)端照片預(yù)覽組件的相關(guān)資料,需要的朋友可以參考下
    2015-04-04
  • 微信小程序 數(shù)據(jù)緩存實(shí)現(xiàn)方法詳解

    微信小程序 數(shù)據(jù)緩存實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了微信小程序 數(shù)據(jù)緩存實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • javascript中this做事件參數(shù)相關(guān)問題解答

    javascript中this做事件參數(shù)相關(guān)問題解答

    有關(guān)this想必大家早有所耳聞,只不過在使用中不是那么在意而已,接下來為大家介紹下this做事件參數(shù)問題,感興趣的你可不要錯(cuò)過了哈
    2013-03-03
  • echarts實(shí)現(xiàn)詞云自定義形狀的示例代碼

    echarts實(shí)現(xiàn)詞云自定義形狀的示例代碼

    這篇文章主要介紹了echarts實(shí)現(xiàn)詞云自定義形狀的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02

最新評論

新密市| 饶平县| 镇平县| 徐汇区| 福鼎市| 巴楚县| 西安市| 施秉县| 黎城县| 平泉县| 越西县| 赤城县| 桐柏县| 全州县| 广安市| 云林县| 玛纳斯县| 衡东县| 定州市| 桑日县| 鄂托克前旗| 卓资县| 板桥市| 栖霞市| 井陉县| 青河县| 全椒县| 奎屯市| 馆陶县| 临沂市| 荥经县| 巴南区| 永兴县| 乐安县| 海宁市| 商洛市| 沂南县| 玉树县| 新宾| 克拉玛依市| 赤城县|