• 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.路由配置文件:

    官网运用:

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

     

    1
    2
    3
    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
    复制代码

     

  • 相关阅读:
    C语言共用体详解
    **面试总结
    各种开发语言运行时占用内存情况比较
    TypeScript实战之用TS封装Axios
    客服聊天配置遗漏
    Web3 过冬 有哪些能超越周期的落地产品?
    vlc多媒体播放器(支持各种本地视频、网络视频、音频及摄像头直播地址)winform(支持全屏)自动适应x86、x64平台插件及重要代码
    Leetcode 1662. 检查两个字符串数组是否相等
    【触想智能】安卓工业平板电脑选购注意事项以及安装方式分析
    [附源码]java毕业设计学校失物招领系统
  • 原文地址:https://www.cnblogs.com/sinberya/p/16482767.html