zhangxiaoqiong

为什么需要懒加载?vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时需要加载的内容过多,时间过长,会长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时。

1.懒加载(Vue异步组件技术)

// 路由
{ path: \'/home\', name: \'home\', component: resolve => require([\'@/components/Home\'],resolve) }
// 组件
components: {
  historyTab:resolve => {
  require([\'../../component/historyTab/historyTab.vue\'],resolve)
  },   
},

2.webpack的require.ensure技术

{ path: \'/list\', name: \'List\', component: resolve => require.ensure([], () => resolve(require(\'../components/List\')), \'chunkName\') }

//多个路由指定相同的chunkName,会合并打包成一个js文件

3.es6的import

// 下面2行代码,没有指定webpackChunkName,每个组件打包成一个js文件 
const Demo1 = () => import(\'@/components/Demo1\') 
const Demo2 = () => import(\'@/components/Demo2\')

// 下面2行代码,指定了相同的webpackChunkName,会合并打包成一个js文件。

// const Demo1 = () => import(/* webpackChunkName: \'Demo1\' */ \'../components/Demo1\')
// const Demo2 = () => import(/* webpackChunkName: \'Demo1\' */ \'../components/Demo2\')
export default new Router({
    routes: [
        {
            path: \'/demo1\',
            name: \'Demo1\',
            component: Demo1
        },
        {
            path: \'/demo2\',
            name: \'Demo2\',
            component: Demo2
        }
    ]
})

分类:

技术点:

相关文章: