定义
也叫延迟加载,即在需要的时候进行加载,随用随载
为什么需要
像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时,进入首页不用一次加载过多资源造成用时过长
什么样的是懒加载
之前搭建了一个简单Vue项目,运行该项目随意点击切换路由,查看network,发现就一个app.js。即webpack打包后只有一个app.js。
当我对项目代码进行更改,login改为懒加载,再切换路由时发现多了一个js文件,这个就是将页面进行划分,需要的时候加载页面。
优化前:
优化后:
因为我的项目很简单所以效果不是很明显,正常的项目会有很好优化效果
如何实现?
对index.js进行更改,只删除了import Login,加了const。只有login进行了处理,其他都非懒加载
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home/Home'
// import Login from '@/components/Home/Login'
import Post from '@/components/Home/Post'
const Login=resolve => require(['@/components/Home/Login'], resolve)
Vue.use(Router)
export default new Router({
routes: [
{path:'*',redirect:'/home'},
{
path: '/',
redirect:'/home',
},
{
path: '/home',
name: 'Home',
component: Home,
alias:'/123'
},
{
path: '/Login',
name: 'Login',
component: Login,
},
{
path: '/Post',
name: 'Post',
component: Post
}
],
})
还有另外一种写法
component: () => import(’@/components/Home/Login’)