Vue 路由懒加载, VueRouter一步完成Vue的路由懒加载 一行代码搞定懒加载

Vue Router路由配置中的component里面配置即可

1 // 路由懒加载的方式加载组件
2 
3   component: () => import('@/views/Detail'),

原理:

传统的 es6 导入方式,会在页面打开的时候,把所有的组件一股脑加载到内存中.这样做是浪费内存的. 如果我们的项目时单页面应用,则应该让对应的视图组件进行懒加载

注意: webpack 默认会把所有的 js 文件合并成一个 js.这样不利于懒加载.所以我们使用 import()让 webpack 打包文件时,将需要懒加载的文件单独打包成一个 js 文件.

简单来说:懒加载就是调用谁就加载谁。不用懒加载的话,是全部加载出来的

这里简单在运用VueRouter的时候进行懒加载

1.Vue VueRouter3官方地址:

https://v3.router.vuejs.org/zh/guide/advanced/lazy-loading.html#%E6%8A%8A%E7%BB%84%E4%BB%B6%E6%8C%89%E7%BB%84%E5%88%86%E5%9D%97

2.路由配置文件:

官网运用:

const Foo = () => import('./Foo.vue')

 

const router = new VueRouter({
  routes: [{ path: '/foo', component: Foo }]
})

 此时已经完成懒加载,

3.一步完成懒加载 看(2)

对比:

(1)非懒加载:

 1 // 1.引入插件
 2 import Vue from 'vue'
 3 import VueRouter from 'vue-router'
 4 
 5 // 4.引入外部组件
 6 import Home from '@/views/Home'
 7 
 8 // 2.注册插件
 9 Vue.use(VueRouter)
10 
11 // 3.创建实例对象
12 const router = new VueRouter({
13   mode: 'history',
14   routes:[
15     {path: '/', redirect: '/home' },
16     {path: '/home',name: 'home',component: Home,},
17   ]
18 })
19 
20 export default router

  (2)懒加载:17行

 1 // 1.引入插件
 2 import Vue from 'vue'
 3 import VueRouter from 'vue-router'
 4 
 5 // // 4.引入外部组件
 6 // import Home from '@/views/Home'
 7 
 8 // 2.注册插件
 9 Vue.use(VueRouter)
10 
11 // 3.创建实例对象
12 const router = new VueRouter({
13   mode: 'history',
14   routes:[
15     {path: '/', redirect: '/home' },
16     // {path: '/home',name: 'home',component: Home,},
17     {path: '/home',name: 'home',component: ()=>import('@/views/Home'),},
18   ]
19 })
20 
21 export default router