• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Vue.js如何實現路由懶加載淺析

    來源:懂視網 責編:小采 時間:2020-11-27 22:32:56
    文檔

    Vue.js如何實現路由懶加載淺析

    Vue.js如何實現路由懶加載淺析:前言 懶加載也就是延遲加載,不知道大家在工作中有沒有發現,當你的SPA(單頁應用程序)變得復雜時,打包構建后的Javascript包會變得非常大,以至于嚴重影響頁面的加載時間。幸運的是:vue-router支持WebPack內置的異步模塊加載系統。所以,那些使用較少的路
    推薦度:
    導讀Vue.js如何實現路由懶加載淺析:前言 懶加載也就是延遲加載,不知道大家在工作中有沒有發現,當你的SPA(單頁應用程序)變得復雜時,打包構建后的Javascript包會變得非常大,以至于嚴重影響頁面的加載時間。幸運的是:vue-router支持WebPack內置的異步模塊加載系統。所以,那些使用較少的路

    前言

    懶加載也就是延遲加載,不知道大家在工作中有沒有發現,當你的SPA(單頁應用程序)變得復雜時,打包構建后的Javascript包會變得非常大,以至于嚴重影響頁面的加載時間。幸運的是:vue-router支持WebPack內置的異步模塊加載系統。所以,那些使用較少的路由組件不必打包進bundles里,只需要在路由被訪問時按需加載。話不多說了,來一起看看詳細的實現過程:

    使用

    假設你的路由配置是這樣的:

    import MainPage from './routes/MainPage.vue'
    import OtherMassivePage from './routes/OtherMassivePage.vue'
    
    const routes = [
     { path: '/main', component: MainPage },
     { path: '/other', component: OtherMassivePage }
    ]

    簡單來說,你可以使用require.ensure來替代import。它能幫你將OtherMassivePage組件以及該組件的所有依賴分割到一個單獨的chunk中去。

    現在重啟你的應用,你會發現并沒有什么改變。但,當你打開開發人員工具,選擇檢查網絡,再一次訪問/other路徑時,你會看到一個新的文件被加載進來。

    import MainPage from './routes/MainPage.vue'
    const OtherMassivePage = r => require.ensure([], () => r(require('./routes/OtherMassivePage.vue')))
    
    const routes = [
     { path: '/main', component: MainPage },
     { path: '/other', component: OtherMassivePage }
    ]

    是的,這看起來是有點奇怪,相信我,它并不是那么糟糕。

    還有一種方法是將路由對應的組件定義成異步組件。

    寫起來像這樣:

    const OtherMassivePage = resolve => {
     // 空數組用來指定該路由組件需要加載的依賴
     require.ensure([], () => {
     resolve(require('./routes/OtherMassivePage.vue'))
     })
    }

    不過,你最好不要使用這種包裹起來的寫法,因為WebPack會使用靜態分析來檢測和分割塊。比較好的做法是,將他們寫成一行以減少空間的占用。

    按組分塊

    有時候我們想把某個路由下的所有組件都打包在同個異步 chunk 中。只需要 給 chunk 命名,提供require.ensure第三個參數作為 chunk 的名稱:

    // 這兩條路由被打包在相同的塊中,訪問任一路由都會延遲加載該路由組件
    const OtherMassivePage = r => require.ensure([], () => r(require('./routes/OtherMassivePage.vue')), 'big-pages')
    const WeightLossPage = r => require.ensure([], () => r(require('./routes/WeightLossPage.vue')), 'big-pages')

    不像許多其他的WebPack任務,這個方法出乎意料的簡單,并且能產生意想不到的有用結果。如果你正在維護那些變得臃腫不堪的大型單頁應用,我會毫不猶豫的將這種方法推薦給你。

    作者:Joshua Bemenderfer

    原文地址: lazy-loading-routes

    譯者:jeneser

    總結

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Vue.js如何實現路由懶加載淺析

    Vue.js如何實現路由懶加載淺析:前言 懶加載也就是延遲加載,不知道大家在工作中有沒有發現,當你的SPA(單頁應用程序)變得復雜時,打包構建后的Javascript包會變得非常大,以至于嚴重影響頁面的加載時間。幸運的是:vue-router支持WebPack內置的異步模塊加載系統。所以,那些使用較少的路
    推薦度:
    標簽: VUE 實現 js
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 97精品伊人久久大香线蕉app| 国产精品高清2021在线| 99热成人精品国产免男男| 日产欧美国产日韩精品| 精品久久久久久无码人妻蜜桃| 国产成人精品亚洲日本在线| 亚洲国产精品va在线播放| 国产在线91精品入口| 国产精品视频第一页| 国产乱人伦偷精品视频AAA| 中文成人无码精品久久久不卡| 久久99精品久久久久久水蜜桃| 免费91麻豆精品国产自产在线观看| 国内精品人妻无码久久久影院| 亚洲精品蜜桃久久久久久| 欧美日韩精品系列一区二区三区 | 亚洲AV日韩精品久久久久| 日本精品一区二区久久久 | 777久久精品一区二区三区无码| 国产精品美女久久久久久2018| 无码精品视频一区二区三区| 亚洲精品乱码久久久久久不卡| 久久精品国产欧美日韩| 精品国产三级a乌鸦在线观看| 国产高清日韩精品欧美激情| 国产精品V亚洲精品V日韩精品| 99久免费精品视频在线观看| 99久久亚洲综合精品成人| 亚洲午夜精品久久久久久人妖 | 亚洲国产美女精品久久久久∴| 亚洲性日韩精品一区二区三区| 日韩人妻无码精品无码中文字幕 | 欧美XXXX黑人又粗又长精品| 免费精品精品国产欧美在线欧美高清免费一级在线 | 午夜欧美精品久久久久久久| 亚洲精品午夜无码电影网| 亚洲精品无码MV在线观看| 亚洲色精品88色婷婷七月丁香| 在线精品亚洲| 久久精品无码一区二区无码| 国产成人精品999在线观看|