懒加载也叫延迟加载,即在需要的时候进行加载,随用随载,一般的运用场景是图片的懒加载,但vue-router同样需要懒加载,为什么?因为像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出现长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载的时间。
vue-router懒加载的实现非常简单,在配置路由的时候components从原先的写组件名改为 resolve => require([URL], resolve) 这种格式即可
不使用懒加载写法:
import Vue from 'vue'
import Router from 'vue-router'
import Parent from '@/components/Parent'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Parent',
component: Parent
}
]
})
使用懒加载写法:
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Parent',
component: resolve => require(['@/components/Parent'], resolve)
}
]
})