vue-router路由懒加载

定义

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

为什么需要

像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时,进入首页不用一次加载过多资源造成用时过长

什么样的是懒加载

之前搭建了一个简单Vue项目,运行该项目随意点击切换路由,查看network,发现就一个app.js。即webpack打包后只有一个app.js。
vue-router路由懒加载_第1张图片
当我对项目代码进行更改,login改为懒加载,再切换路由时发现多了一个js文件,这个就是将页面进行划分,需要的时候加载页面。vue-router路由懒加载_第2张图片
优化前:
在这里插入图片描述
优化后:
在这里插入图片描述
因为我的项目很简单所以效果不是很明显,正常的项目会有很好优化效果

如何实现?

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

你可能感兴趣的:(vue)