国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - vue.js - vue-router路由懶加載及實現(xiàn)的3種方式

vue-router路由懶加載及實現(xiàn)的3種方式

2022-01-24 16:48Ajiia vue.js

這篇文章主要給大家介紹了關于vue-router路由懶加載及實現(xiàn)的3種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

什么是路由懶加載?

也叫延遲加載,即在需要的時候進行加載,隨用隨載。

官方解釋:

 1:當打包構建應用時,JavaScript 包會變得非常大,影響頁面加載。

 2:如果我們能把不同路由對應的組件分割成不同的代碼塊,然后當路由被訪問的時候才加載對應組件,這樣就更加高效了。

官方在說什么呢?為什么需要懶加載?

 1:首先,我們知道路由中通常會定義很多不同的頁面。

 2:這個頁面這項目build打包后,一般情況下,會放在一個單獨的js文件中

 3:但是,如果很多的頁面都放在同一個js文件中,必然會造成這個頁面非常大

 4:如果我們一次性的從服務器中請求下來這個頁面,可能會花費一定時間,用戶體驗不好

 5:如何避免這種情況發(fā)生呢?使用路由懶加載就可以了

繼續(xù)解釋原由?

    1:像vue這種單頁面應用,如果沒有應用懶加載,運用webpack打包后的文件將會異常的大。

    2:造成進入首頁時,需要加載的內容過多,時間過長,會出啊先長時間的白屏,即使做了loading也是不利于用戶體驗。

    3:而運用懶加載則可以將頁面進行劃分,需要的時候加載頁面,可以有效的分擔首頁所承擔的加載壓力,減少首頁加載用時

也就是說:進入頁面不用也不需要一次性加載過多資源造成加載時間過程!

路由懶加載做了什么事情?

 1:主要作用是將路由對應的組件打包成一個個的js代碼塊

 2:只有在這個路由被訪問到的時候,才加載對應的組件,否則不加載!

即:只有在這個路由被訪問到的時候,才加載對應的組件,否則不加載!

1:.如何實現(xiàn)路由懶加載??

 vue項目實現(xiàn)路由按需加載(路由懶加載)的三種方式:

  1:Vue異步組件

  2:ES6標準語法import()---------推薦使用!!!!!

  3:webpack的require,ensure()

2.Vue異步加載技術

  1:vue-router配置路由,使用vue的異步組件技術,可以實現(xiàn)懶加載,此時一個組件會生成一個js文件。

  2:component: resolve => require(['放入需要加載的路由地址'], resolve)

?
1
2
3
4
5
{
path: '/problem',
name: 'problem',
component: resolve => require(['../pages/home/problemList'], resolve)
}

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

  1:直接將組件引入的方式,import是ES6的一個語法標準,如果需要瀏覽器兼容,需要轉化成es5的語法。

  2:推薦使用這種方式,但是注意wepack的版本>2.4

  3:vue官方文檔中使用的也是import實現(xiàn)路由懶加載

  4:上面聲明導入,下面直接使用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import Vue from 'vue';
import Router from 'vue-router';
// 官網可知:下面沒有指定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')
export default new Router({
 routes: [
  {
   path: '/Foo',
   name: 'Foo',
   component: Foo
  },
  {
   path: '/Aoo',
   name: 'Aoo',
   component: Aoo
  }
 ]
})

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

  1:vue-router配置路由,使用webpack的require.ensure技術,也可以實現(xiàn)按需加載。

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

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

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

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

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

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

此處代碼參考原文鏈接:https://blog.csdn.net/qq_41998083/article/details/109726402

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import Vue from 'vue';
import Router from 'vue-router';
const HelloWorld=resolve=>{
        require.ensure(['@/components/HelloWorld'],()=>{
            resolve(require('@/components/HelloWorld'))
        })
    }
Vue.use('Router')
export default new Router({
    routes:[{
    {path:'./',
    name:'HelloWorld',
    component:HelloWorld
    }
    }]
})

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

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

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

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

至此:關于VueRouter懶加載的基本知識以及使用方式已經介紹完畢,邏輯道理很簡單, 關鍵在實踐,感謝觀看!

總結

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

原文鏈接:https://blog.csdn.net/czj1049561601/article/details/114120236

延伸 · 閱讀

精彩推薦
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關資料,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.jsVue2.x-使用防抖以及節(jié)流的示例

    Vue2.x-使用防抖以及節(jié)流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節(jié)流的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.jsVue中引入svg圖標的兩種方式

    Vue中引入svg圖標的兩種方式

    這篇文章主要給大家介紹了關于Vue中引入svg圖標的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    十里不故夢10222021-12-31
  • vue.js用vite搭建vue3應用的實現(xiàn)方法

    用vite搭建vue3應用的實現(xiàn)方法

    這篇文章主要介紹了用vite搭建vue3應用的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.jsVue項目中實現(xiàn)帶參跳轉功能

    Vue項目中實現(xiàn)帶參跳轉功能

    最近做了一個手機端系統(tǒng),其中遇到了父頁面需要攜帶參數(shù)跳轉至子頁面的問題,現(xiàn)已解決,下面分享一下實現(xiàn)過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
  • vue.jsVue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    這篇文章主要介紹了Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    優(yōu)小U9632022-02-21
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學可以研究下...

    yukiwu6752022-01-25
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學的同學,可能js的基礎也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術團隊7992021-12-22
主站蜘蛛池模板: 亚洲欧美一区二区三区久久 | 亚洲一区二区国产 | 日韩国产欧美精品 | 91视频播放 | 国产精品久久久久aaaa | 欧美视频在线播放 | 成人精品视频99在线观看免费 | 亚洲精品电影 | 99久久99久久精品 | 国产精品一区欧美 | 成人伊人 | 午夜精品网站 | 小视频免费在线观看 | 久久久久国产一区二区三区四区 | 免费观看在线午夜影视 | 99爱在线观看| 国内精品一区二区三区 | 欧美一区二区三区久久久久久桃花 | 日本a在线 | 97久久久 | 欧美精品在线看 | 亚洲欧美日韩系列 | 在线国产视频观看 | 国产伦精品一区二区三区 | 一级片在线观看 | 三及毛片 | 欧美一区二区三区在线观看视频 | 亚洲一区二区在线 | 91精品久久 | 人人干人人爱 | 欧美日韩一 | 毛片黄片| 日韩精品免费一区二区夜夜嗨 | 免费a视频| 国产中文字幕在线观看 | a欧美 | 国产一级毛片电影 | 日本精a在线观看 | 国产日韩欧美精品 | 国产精品毛片久久久久久 | 天堂一区二区三区在线 |