Vue项目按需加载(项目记录)

为什么需要懒加载?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
        }
    ]
})
posted @ 2020-09-17 11:36  小白前端~路过~  阅读(318)  评论(0)    收藏  举报