vue-router路由懒加载

定义

也叫延迟加载,即在需要的时候进行加载,随用随载

为什么需要

像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’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值