1.为什么要用懒加载?
在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,延时过长,不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时
2.如何与webpack配合实现组件懒加载
(1)在webpack配置文件中的output路径配置chunkFilename属性(chunkFilename路径将会作为组件懒加载的路径)
(2)配合webpack支持的异步加载方法
- resolve => require([URL], resolve),支持性好
- () => system.import(URL) , webpack2官网上已经声明将逐渐废除,不推荐使用
- () => import(URL), webpack2官网推荐使用,属于es7范畴,需要配合babel的syntax-dynamic-import插件使用
3.懒加载的使用地方
(1)路由懒加载
export default new Router({
routes:[
{
path: '/user',
name: 'user',
//懒加载
component: resolve => require(['../page/user.vue'], resolve),
},
]
})
(2)组件懒加载
components: {
historyTab:resolve => {
require(['../../component/historyTab/historyTab.vue'],resolve)
},
},
(3)全局懒加载
Vue.component('mideaHeader', () => {
System.import('./component/header/header.vue')
})