• 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
    复制代码

     

  • 相关阅读:
    HarmonyOS鸿蒙学习笔记(11)Flex组件alignItems属性说明
    c++学习 之 强制类型转换
    Android---Bitmap详解
    迎接“全全闪”时代 星辰天合发布星海架构和星飞产品
    用HarmonyOS ArkUI调用三方库PhotoView实现图片的联播、缩放
    【面试经典 150 | 回溯】电话号码的字母组合
    【Apollo】感知工程安装测试
    唯有自身强大才能呼风唤雨—Intel要携CXL一统互联江湖了吗?
    开源云原生平台对比 KubeSphere vs Rainbond
    《CGNF: CONDITIONAL GRAPH NEURAL FIELDS》阅读笔记
  • 原文地址:https://www.cnblogs.com/sinberya/p/16482767.html