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

解析vue路由異步組件和懶加載案例

 更新時(shí)間:2018年06月08日 15:21:54   作者:zhensg  
這篇文章主要介紹了解析vue路由異步組件和懶加載案例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

最近研究了vue性能優(yōu)化,涉及到vue異步組件和懶加載。一番研究得出如下的解決方案。

原理:利用webpack對(duì)代碼進(jìn)行分割是懶加載的前提,懶加載就是異步調(diào)用組件,需要時(shí)候才下載。

案例:

首先是組件,創(chuàng)建四個(gè)組件分別命名為first、second、three和four;內(nèi)容如下

first

<template> 

<div>我是第一個(gè)頁(yè)面</div> 

</template>

 

second

<template> 

<div>我是第二個(gè)頁(yè)面</div> 

</template>

 

three

<template> 

<div>我是第三個(gè)頁(yè)面</div> 

</template>

four
<template> 
<div>我是第四個(gè)頁(yè)面</div> 
</template>

路由index.js代碼,異步組件方式有兩種,代碼中的方案1和方案2;注意:方案1需要添加syntax-dynamic-import插件

import Vue from 'vue'

import VueRouter from 'vue-router'

/*import First from '@/components/First' 

import Second from '@/components/Second'*/

  

Vue.use(VueRouter) 

//方案1

const first =()=>import(/* webpackChunkName: "group-foo" */ "../components/first.vue");

const second = ()=>import(/* webpackChunkName: "group-foo" */ "../components/second.vue");

const three = ()=>import(/* webpackChunkName: "group-fooo" */ "../components/three.vue");

const four = ()=>import(/* webpackChunkName: "group-fooo" */ "../components/four.vue");

//方案2

const first = r => require.ensure([], () => r(require('../components/first.vue')), 'chunkname1')

const second = r => require.ensure([], () => r(require('../components/second.vue')), 'chunkname1')

const three = r => require.ensure([], () => r(require('../components/three.vue')), 'chunkname2')

const four = r => require.ensure([], () => r(require('../components/four.vue')), 'chunkname2')

 

//懶加載路由 

const routes = [ 

 {  //當(dāng)首次進(jìn)入頁(yè)面時(shí),頁(yè)面沒(méi)有顯示任何組件;讓頁(yè)面一加載進(jìn)來(lái)就默認(rèn)顯示first頁(yè)面 

 path:'/', //重定向,就是給它重新指定一個(gè)方向,加載一個(gè)組件; 

 component:first 

 }, 

 { 

 path:'/first', 

 component:first

 }, 

 { 

 path:'/second', 

 component:second

 }, { 

 path:'/three', 

 component:three

 }, 

 { 

 path:'/four', 

 component:four

 } 

//這里require組件路徑根據(jù)自己的配置引入 

] 

//最后創(chuàng)建router 對(duì)路由進(jìn)行管理,它是由構(gòu)造函數(shù) new vueRouter() 創(chuàng)建,接受routes 參數(shù)。 

  

 const router = new VueRouter({ 

 routes 

}) 
export default router; 

最后,如果想要讓build之后的代碼更便于識(shí)別,配置webpack代碼

運(yùn)行 npm run build結(jié)果

注意方案1和方案2只能用一個(gè)。然后運(yùn)行項(xiàng)目試驗(yàn)一下就可以了。

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

相關(guān)文章

  • 解決vue中使用swiper插件問(wèn)題及swiper在vue中的用法

    解決vue中使用swiper插件問(wèn)題及swiper在vue中的用法

    Swiper是純javascript打造的滑動(dòng)特效插件,面向手機(jī)、平板電腦等移動(dòng)終端。這篇文章主要介紹了解決vue中使用swiper插件及swiper在vue中的用法,需要的朋友可以參考下
    2018-04-04
  • Ant?Design?Vue?修改表格頭部樣式的詳細(xì)代碼

    Ant?Design?Vue?修改表格頭部樣式的詳細(xì)代碼

    這篇文章主要介紹了Ant?Design?Vue?修改表格頭部樣式,首先用到的是customHeaderRow這個(gè)API,類型是一個(gè)函數(shù),本文通過(guò)完整代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-10-10
  • 詳解Vite如何處理CSS預(yù)處理器

    詳解Vite如何處理CSS預(yù)處理器

    在現(xiàn)代前端開(kāi)發(fā)中,CSS 預(yù)處理器如 Sass、Less 和 Stylus 等工具,為樣式編寫提供了更強(qiáng)大的功能和更好的開(kāi)發(fā)體驗(yàn),本文將探討 Vite 是如何處理 CSS 預(yù)處理器的,以及如何在實(shí)際項(xiàng)目中配置和使用它們,需要的朋友可以參考下
    2025-02-02
  • Vue3項(xiàng)目實(shí)現(xiàn)前端導(dǎo)出Excel的示例代碼

    Vue3項(xiàng)目實(shí)現(xiàn)前端導(dǎo)出Excel的示例代碼

    這篇文章主要介紹了Vue3項(xiàng)目實(shí)現(xiàn)前端導(dǎo)出Excel的示例,在vue3的項(xiàng)目中導(dǎo)出Excel表格的功能,可以借助xlsx庫(kù)來(lái)實(shí)現(xiàn),下面是詳細(xì)的操作步驟,需要的朋友可以參考下
    2025-01-01
  • vue實(shí)現(xiàn)選項(xiàng)卡功能

    vue實(shí)現(xiàn)選項(xiàng)卡功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)選項(xiàng)卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • lottie實(shí)現(xiàn)vue自定義loading指令及常用指令封裝詳解

    lottie實(shí)現(xiàn)vue自定義loading指令及常用指令封裝詳解

    這篇文章主要為大家介紹了lottie實(shí)現(xiàn)vue自定義loading指令及常用指令封裝,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • element-ui upload組件上傳文件類型限制問(wèn)題小結(jié)

    element-ui upload組件上傳文件類型限制問(wèn)題小結(jié)

    最近我遇到這樣的問(wèn)題,接受類型已經(jīng)加了accept 但是當(dāng)選擇彈出本地選擇文件時(shí)候切換到所有文件 之前的文件類型就本根過(guò)濾不掉了,下面小編給大家介紹element-ui upload組件上傳文件類型限制問(wèn)題小結(jié),感興趣的朋友一起看看吧
    2024-02-02
  • elementUI Vue 單個(gè)按鈕顯示和隱藏的變換功能(兩種方法)

    elementUI Vue 單個(gè)按鈕顯示和隱藏的變換功能(兩種方法)

    小編最近遇到這樣的需求,當(dāng)點(diǎn)擊一個(gè)按鈕可以變換里面字的內(nèi)容,剛開(kāi)始還真是一頭霧水,不知所措。仔細(xì)想想屢屢思緒,很容易的解決了。接下來(lái)通過(guò)本文給大家介紹elementUI Vue 單個(gè)按鈕顯示和隱藏的變換功能,需要的朋友可以參考下
    2018-09-09
  • 記一次用ts+vuecli4重構(gòu)項(xiàng)目的實(shí)現(xiàn)

    記一次用ts+vuecli4重構(gòu)項(xiàng)目的實(shí)現(xiàn)

    這篇文章主要介紹了記一次用ts+vuecli4重構(gòu)項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • vue中使用 pako.js 解密 gzip加密字符串的方法

    vue中使用 pako.js 解密 gzip加密字符串的方法

    這篇文章主要介紹了vue項(xiàng)目中 使用 pako.js 解密 gzip加密字符串 的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06

最新評(píng)論

定兴县| 汾阳市| 锡林浩特市| 乐亭县| 保山市| 高碑店市| 北票市| 正镶白旗| 齐齐哈尔市| 赤壁市| 崇左市| 电白县| 思南县| 武鸣县| 萨迦县| 雷山县| 富民县| 内乡县| 天门市| 临海市| 黔南| 克什克腾旗| 茌平县| 乾安县| 乐亭县| 黑水县| 商水县| 昌平区| 邢台市| 遂溪县| 手游| 博湖县| 榆社县| 会理县| 大连市| 红原县| 房山区| 沂源县| 古交市| 莆田市| 台北市|