vue项目实现路由按需加载(路由懒加载)的3种方式

vue项目实现路由按需加载(路由懒加载)的3种方式为什么需要懒加载 像 vue 这种单页面应用 如果没有应用懒加载 运用 webpack 打包后的文件将会异常的大 造成进入首页时 需要加载的内容过多 时间过长 会出啊先长时间的白屏 即使做了 loading 也是不利于用户体验 而运用懒加载则可以将页面进行划分 需要的时候加载页面 可以有效的分担首页所承担的加载压力 减少首页加载用时 vue 异步组件 es 提案的 import webpack

Vue全套学习学习视频:B站

小胖梅-的个人空间_哔哩哔哩_Bilibili

 

为什么需要懒加载?

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

  1. vue异步组件
  2. es提案的import()
  3. webpack的require,ensure()

1 . vue异步组件技术 ==== 异步加载 

/* vue异步组件技术 */

{ path: ‘/home’, name: ‘home’, component: resolve => require([‘@/components/home’],resolve) },

{ path: ‘/index’, name: ‘Index’, component: resolve => require([‘@/components/index’],resolve) },

{ path: ‘/about’, name: ‘about’, component: resolve => require([‘@/components/about’],resolve) }

非懒加载:

vue项目实现路由按需加载(路由懒加载)的3种方式

懒加载

vue项目实现路由按需加载(路由懒加载)的3种方式

2.组件懒加载方案二 路由懒加载(使用import)

const 组件名=() => import(‘组件路径’);

// 下面2行代码,没有指定webpackChunkName,每个组件打包成一个js文件。

/* const Home = () => import(‘@/components/home’)

const Index = () => import(‘@/components/index’)

const About = () => import(‘@/components/about’) */

// 下面2行代码,指定了相同的webpackChunkName,会合并打包成一个js文件。

把组件按组分块

const Home = () => import(/* webpackChunkName: ‘ImportFuncDemo’ */ ‘@/components/home’)

const Index = () => import(/* webpackChunkName: ‘ImportFuncDemo’ */ ‘@/components/index’)

const About = () => import(/* webpackChunkName: ‘ImportFuncDemo’ */ ‘@/components/about’)

{ path: ‘/about’, component: About }, { path: ‘/index’, component: Index }, { path: ‘/home’, component: Home }

3.webpack提供的require.ensure() 

/* 组件懒加载方案三: webpack提供的require.ensure() */

{ path: ‘/home’, name: ‘home’, component: r => require.ensure([], () => r(require(‘@/components/home’)), ‘demo’) },

{ path: ‘/index’, name: ‘Index’, component: r => require.ensure([], () => r(require(‘@/components/index’)), ‘demo’) },

{ path: ‘/about’, name: ‘about’, component: r => require.ensure([], () => r(require(‘@/components/about’)), ‘demo-01’) }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200443.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午10:50
下一篇 2026年3月20日 上午10:50


相关推荐

  • 关于DetailsView使用DropDownList1!

    关于DetailsView使用DropDownList1!关于DetailsView使用DropDownList1在DetailsView中创建一个模板列,在模板列中加入DropDownList例:<asp:TemplateFieldHeaderText=”类型”><EditItemTemplate><asp:DropDownListID=”DropDownList2″runat=”ser…

    2022年7月18日
    17
  • Linux内核驱动编写

    Linux内核驱动编写#前言开发过单片机的小伙伴可以看下我之前的一篇文章从单片机开发到linux内核驱动,以浅显易懂的方式带你敲开Linux驱动开发的大门。#正文用户空间的每个函数(用于使用设备或者文件的),在内核空间中都有一个对应的功能相似并且可将内核的信息向用户空间传递的函数。下表为几种设备驱动事件和它们在内核和用户空间对应的接口函数。事件(Events)用户函数(Userfunction…

    2022年7月14日
    16
  • LTE:下行峰值速率计算

    LTE:下行峰值速率计算LTE 的下行峰值速率 peakdatarate 可定义为满足以下条件时的最大 throughput nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 整个带宽均分配给一个 UE nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 使用最高阶的 MCS nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 使用可支持的最大天线数在实际中 需要考虑典型的无线信道开销 如控制信道 参考信号 保护间隔等 对于 FDD 而言 峰值速率的计算方法如下 1slo

    2026年3月16日
    1
  • docker mysql日志查看_MySQL查看版本

    docker mysql日志查看_MySQL查看版本查询DockerMySQL的版本号1.查找到当前正在运行的容器#dockerps2.进入mysql容器(命令中不带小括号)#dockerexec-it(mysql的名字,或id)bash3.登录mysql,输入账号密码登录(命令中不带小括号)#mysql-u(root)-p(abcd)登录成功以后,会显示该mysql的详细信息,其中包含版本号…

    2026年4月16日
    5
  • C语言关键字之voliate

    C语言关键字之voliateC语言关键字之voliatevoliate的作用是作为指令关键字,确保本条指令不会因为编译器的优化而省略,而且要求每次从内存中直接读取值当使用voliate声明变量值时,系统总是重新从它所在的内存读取数据,直接访问变量地址,而编译器对于访问该变量时也不再进行优化voliate关键字影响编译器的结果,用voliate声明的变量表示该变量随时可能发生变化(因为编译器优化时可能将其放入寄存器中),与…

    2022年5月6日
    70
  • linux cat命令追加,linux cat命令

    linux cat命令追加,linux cat命令1 cat 命令功能 cat 命令的用途是连接文件或标准输入并打印 这个命令常用来显示文件内容 或者将几个文件连接起来显示 或者从标准输入读取内容并显示 它常与重定向符号配合使用 2 cat 命令格式 cat option file 3 cat 命令参数 A show all 等价于 vET b number nonblank 对非空输出行编号 e

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号