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

Vue實現(xiàn)路由懶加載的多種方式總結

 更新時間:2023年11月14日 11:14:46   作者:mieRui  
當構建的項目比較大的時候,懶加載可以分割代碼塊,提高頁面的初始加載效率解決白屏問題,下面是幾種常見vue路由懶加載的方法,感興趣的朋友跟隨小編一起看看吧

一、為什么需要路由懶加載

vue在項目打包/構建(一般是npm run build 具體看package.json文件)之后,會生成一個dist文件夾。在dist文件夾里面又有一個js/app.js文件,這里主要存放的是整個項目的業(yè)務邏輯代碼。隨著項目不斷的開發(fā)迭代,業(yè)務邏輯越來越多,app.js文件也會越來越大。在線上就會容易出現(xiàn)進入首頁時所需時間過長或者出現(xiàn)白屏的問題

這會是影響加載時間的重要因數(shù)。當構建的項目比較大的時候,懶加載可以分割代碼塊,提高頁面的初始加載效率解決白屏問題。下面是幾種常見vue路由懶加載的方法

1.ES6推薦方式imprort ()----推薦使用

// 官網可知:下面沒有指定webpackChunkName,每個組件打包成一個js文件。
const Foo = () => import('../components/Foo')
const Aoo = () => import('../components/Aoo')
// 下面2行代碼,指定了相同的webpackChunkName,會合并打包成一個js文件。
const Foo = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '../components/Foo')
const Aoo = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '../components/Aoo')

2 webpack提供的require.ensure()實現(xiàn)懶加載

1:這種情況下,多個路由指定相同的chunkName,會合并打包成一個js文件。

2:require.ensure可實現(xiàn)按需加載資源,包括js,css等。他會給里面require的文件單獨打包,不會和主文件 打包在一起。

3:第一個參數(shù)是數(shù)組,表明第二個參數(shù)里需要依賴的模塊,這些會提前加載。

4:第二個是回調函數(shù),在這個回調函數(shù)里面require的文件會被單獨打包成一個chunk,不會和主文件打包在一 起,這樣就生成了兩個chunk,第一次加載時只加載主文件。

5:第三個參數(shù)是錯誤回調。

6:第四個參數(shù)是單獨打包的chunk的文件名

import Vue from 'vue';
import Router from 'vue-router';
Vue.use('Router')
export default new Router({
    routes:[{
    {path:'./',
    name:'HelloWorld',
    component: r => require.ensure([], () => r(require('@/components/home')), 'demo')
    }
    }]
})

3.使用vue異步組件resolve

這一種方法比較常見。它主要是使用了resolve的異步機制,用require代替了import,實現(xiàn)按需加載,下面是代碼示例

//const 組件名 = resolve => require([‘組件路徑'],resolve)
//(這種情況下一個組件生成一個js文件)
const home = resolve => require(['../view/home'],resolve)

4.import和require的比較(了解)

import 是解構過程并且是編譯時執(zhí)行

require 是賦值過程并且是運行時才執(zhí)行,也就是異步加載

require的性能相對于import稍低,因為require是在運行時才引入模塊并且還賦值給某個變量

命令

規(guī)范

調用

本質

特點

require

CommonJS規(guī)范

運行時調用

賦值過程

非語言層面的標準。 社區(qū)方案,提供了服務器/瀏覽器的模塊加載方案。只能在運行時確定模塊的依賴關系及輸入/輸出的變量,無法進行靜態(tài)優(yōu)化。

import

es6+的語法標準

編譯時調用

解構過程

語言規(guī)格層面支持模塊功能。支持編譯時靜態(tài)分析,便于JS引入宏和類型檢驗。動態(tài)綁定

關于規(guī)范

import是es6的一個語法標準,如果要兼容瀏覽器的話必須轉化成es5的語法。

到此這篇關于Vue實現(xiàn)路由懶加載的多種方式總結的文章就介紹到這了,更多相關Vue路由懶加載內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue使用video.js實現(xiàn)播放m3u8格式的視頻

    vue使用video.js實現(xiàn)播放m3u8格式的視頻

    這篇文章主要為大家詳細介紹了vue如何使用video.js實現(xiàn)播放m3u8格式的視頻,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • vant的picker組件設置文字超長滾動方式

    vant的picker組件設置文字超長滾動方式

    這篇文章主要介紹了vant的picker組件設置文字超長滾動方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue實現(xiàn)過渡動畫Message消息提示組件示例詳解

    vue實現(xiàn)過渡動畫Message消息提示組件示例詳解

    這篇文章主要為大家介紹了vue實現(xiàn)過渡動畫Message消息提示組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Vue使用枚舉類型實現(xiàn)HTML下拉框步驟詳解

    Vue使用枚舉類型實現(xiàn)HTML下拉框步驟詳解

    本文分步驟給大家介紹了Vue使用枚舉類型實現(xiàn)HTML下拉框的相關知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • vue+swiper實現(xiàn)側滑菜單效果

    vue+swiper實現(xiàn)側滑菜單效果

    這篇文章主要為大家詳細介紹了vue+swiper實現(xiàn)側滑菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 解決vue attr取不到屬性值的問題

    解決vue attr取不到屬性值的問題

    今天小編就為大家分享一篇解決vue attr取不到屬性值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue?props?type設置多個類型

    vue?props?type設置多個類型

    這篇文章主要介紹了vue?props?type設置多個類型,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue--點擊當前增加class,其他刪除class的方法

    vue--點擊當前增加class,其他刪除class的方法

    今天小編就為大家分享一篇vue--點擊當前增加class,其他刪除class的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue實現(xiàn)可增刪查改的成績單

    vue實現(xiàn)可增刪查改的成績單

    這篇文章主要為大家詳細介紹了vue實現(xiàn)可增刪查改的成績單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Vue如何清空對象

    Vue如何清空對象

    這篇文章主要介紹了Vue如何清空對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論

黄骅市| 韶关市| 绥德县| 平遥县| 库车县| 吉安市| 华亭县| 汕尾市| 济宁市| 蒙自县| 香河县| 宜都市| 微山县| 乌鲁木齐市| 滨州市| 武汉市| 思茅市| 台东市| 宿松县| 吉安县| 舒兰市| 来宾市| 山阳县| 宁蒗| 布尔津县| 漯河市| 汶上县| 二连浩特市| 湾仔区| 桃源县| 富锦市| 灵台县| 蓬安县| 梁河县| 株洲县| 襄樊市| 交城县| 巫山县| 漳平市| 河间市| 麟游县|