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

vue項(xiàng)目中路由懶加載的三種方式(簡潔易懂)

 更新時(shí)間:2024年01月28日 09:46:43   作者:張不大了  
本文主要介紹了vue項(xiàng)目中路由懶加載的三種方式,主要包括vue異步組件,組件懶加載,webpack的require.ensure(),具有一定的參考價(jià)值,感興趣的可以了解一下

1 . vue異步組件技術(shù) ==== 異步加載 

在大型應(yīng)用中,我們可能需要將應(yīng)用分割成小一些的代碼塊,并且只在需要的時(shí)候才從服務(wù)器加載一個(gè)模塊。為了簡化,Vue 允許你以一個(gè)工廠函數(shù)的方式定義你的組件,這個(gè)工廠函數(shù)會(huì)異步解析你的組件定義。Vue 只有在這個(gè)組件需要被渲染的時(shí)候才會(huì)觸發(fā)該工廠函數(shù),且會(huì)把結(jié)果緩存起來供未來重渲染

vue-router配置路由 , 使用vue的異步組件技術(shù) , 可以實(shí)現(xiàn)按需加載 . 但是,這種情況下一個(gè)組件生成一個(gè)js文件

/* vue異步組件技術(shù) */

{ path: '/home', name: 'home', component: resolve => require(['@/components/home'],resolve) },
{ path: '/index', name: 'Index', component: resolve => require(['@/components/index'],resolve) },
{ path: '/about', name: 'about', component: resolve => require(['@/components/about'],resolve) }

2.組件懶加載方案二 路由懶加載(使用import)

每個(gè) () => import() 都會(huì)生成一個(gè)獨(dú)立的JS文件
也就是說:只要使用這個(gè)語法,就是告訴 webpack 這就是一個(gè)代碼分割點(diǎn),這樣生成一個(gè)獨(dú)立的js文件,來實(shí)現(xiàn)按需加載的功能

const 組件名=() => import('組件路徑');
// 下面2行代碼,沒有指定webpackChunkName,每個(gè)組件打包成一個(gè)js文件。
/* const Home = () => import('@/components/home')
const Index = () => import('@/components/index')
const About = () => import('@/components/about') */
// 下面2行代碼,指定了相同的webpackChunkName,會(huì)合并打包成一個(gè)js文件。
把組件按組分塊
const Home = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '@/components/home')
const Index = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '@/components/index')
const About = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '@/components/about')
 
{ path: '/about', component: About }, { path: '/index', component: Index }, { path: '/home', component: Home }

3.webpack提供的require.ensure()  

vue-router配置路由,使用webpack的require.ensure技術(shù),也可以實(shí)現(xiàn)按需加載。 
這種情況下,多個(gè)路由指定相同的chunkName,會(huì)合并打包成一個(gè)js文件。
/* 組件懶加載方案三: webpack提供的require.ensure() */
{ path: '/home', name: 'home', component: r => require.ensure([], () => r(require('@/components/home')), 'demo') },
{ path: '/index', name: 'Index', component: r => require.ensure([], () => r(require('@/components/index')), 'demo') },
{ path: '/about', name: 'about', component: r => require.ensure([], () => r(require('@/components/about')), 'demo-01') }
 
// r就是resolve
const list = r => require.ensure([], () => r(require('../components/list/list')), 'list');
// 路由也是正常的寫法  這種是官方推薦的寫的 按模塊劃分懶加載 
const router = new Router({
    routes: [
        {
           path: '/list/blog',
           component: list,
           name: 'blog'
        }
    ]
})

到此這篇關(guān)于vue項(xiàng)目中路由懶加載的三種方式(簡潔易懂)的文章就介紹到這了,更多相關(guān)vue 路由懶加載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

利川市| 重庆市| 常宁市| 鹤峰县| 遂宁市| 抚顺市| 贵南县| 新沂市| 盐津县| 稷山县| 辽中县| 麻城市| 福清市| 潢川县| 南涧| 德安县| 崇州市| 天全县| 瑞丽市| 富蕴县| 化德县| 建阳市| 龙门县| 泸定县| 肥城市| 宜丰县| 常山县| 双城市| 上虞市| 平潭县| 平顺县| 克什克腾旗| 涞水县| 永济市| 密云县| 灵武市| 通海县| 汶川县| 高淳县| 封开县| 淮北市|