懒加载:----------------------------------------------------
也叫延迟加载,即在需要的时候进行加载,随用随载。
为什么需要懒加载?
像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时
简单的说就是:进入首页不用一次加载过多资源造成用时过长!!!
如何实现?
一、vue异步懒加载写法:
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
routes: [{
// 进行路由配置,规定'/'引入到home组件
path: '/',
name: 'Home',
component: resolve => require(['../pages/Home.vue'], resolve),
meta: {
title: 'home'
}
},
{
path: '/about',
name: 'About',
component: resolve => require(['../pages/About.vue'], resolve)
}
]
})
二、使用ES6 中的import进行懒加载 :
const HelloWorld = () => import("@/components/HelloWorld");
export default new Router({
routes: [{
path: '/',
name: 'HelloWorld',
component: HelloWorld
}]
})
/*或者*/
export default new Router({
routes: [{
path: '/',
name: 'HelloWorld',
component: () => import("@/components/HelloWorld")
}]
})
还有一点:是我遇到的如果你遇到了就看下——就是用了懒加载后打完包直接运行那个index.html会报错,报文件引用错误其实是打包时候路径配置有点问题修改下就好了
如下图:
找到build下面的webpack.prod.conf.js 添加 publicPath:"./",
```