由于vue单页项目最后会通过webpack打包成一个js文件,如果项目很大的话,会造成首屏加载缓慢浪费用户的等待时间,因为页面多加载了一些其他的组件,这个时候我们可以通过路由懒加载的形式来解决这个问题,至于怎样衡量一个项目大不大,需要不需要懒加载,我是根据慕课网上面的老师讲的方法:如果最后打包的那个app.js文件超出1mb的话则需要懒加载,个人未深究其中缘由,希望有大佬可以详细的讲讲
好了,说了这么多废话,接下来就讲讲路由懒加载的是实现方法吧,依然还是用我之前的那个项目来给大家做示范:
import Vue from 'vue'
import Router from 'vue-router'
/*import Home from '@/containers/home/index'
import List from '@/containers/list/index'
import Detail from '@/containers/detail/index'
import Person from '@/containers/person/index'*/
const Home = resolve => require(['@/containers/home/index'], resolve);
const List = resolve => require(['@/containers/list/index'], resolve);
const Detail = resolve => require(['@/containers/detail/index'], resolve);
const Person = resolve => require(['@/containers/person/index'], resolve);
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
},{
path: '/list',
name: 'List',
component: List
},{
path: '/detail',
name: 'Detail',
component: Detail
},{
path: '/person',
name: 'Person',
component: Person
},
]
})