vue 路由懒加载

article/2025/10/3 0:55:04

1. 路由懒加载如何实现

当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就会更加高效

当前,我们使用如下方式导入组件

import Login from '../views/Login

打包后,这些组件都会被打包到一个.s文件中,css 代码会打包到 css 文件中

在这里插入图片描述

访问应用时,就会下载这js文件和对应的css文件

在这里插入图片描述

随着代码的增多,文件的体积也会越来越大

文件中包含了所有的用户组件的js以及css代码,但用户可能根本不会浏览器到某些页面,也就是说根本不需要渲染某些组件,所以vue-router 提供了一种路由懒加载机制,就是当某个路由规则匹配时,才会去加载下载并加载某个组件,此时可以提升首页的渲染速度

路由懒加载实现的基础是组件引入方式的变化,需要使用 如下方式引入组件才可以

const Login = () => import('../views/Login')

这是原来的引入方式

import Login from '../views/Login

对比原来的引入方式,就能发现不同点:现在的 Login 是个函数,当路由规则匹配上,就会执行这个函数,才去加载此组件

 {path: '/login',name: 'login',component: Login // 此时的 login 是函数},

将所有组件的引入方式都像上面这样修改后,重新打包,由原来的一个js文件拆分成了体积较小的多个js文件

在这里插入图片描述

现在,我们来请求登录页面,请求多个小文件

在这里插入图片描述

此时再访问用户列表页面,会动态加载新的js和css文件,其他页面也都是这种情况

在这里插入图片描述

这种情况,其实是通过增加网络请求次数换取了每次请求包的缩小,可以明显提升首页加载速度

此时,看看这张图,发现再 3G Slow 网速下,加载速度由原来的 36秒多变成了11秒多点,在正常的4G网速下,达到了0.67秒

在这里插入图片描述

2.把组件按组分块

上面,我们是将每个组件都分别打包了,很多时候是没有必要的,可以将多个组件打包到一个包中

const UserDetails = () =>import(/* webpackChunkName: "group-user" */ './UserDetails.vue')
const UserDashboard = () =>import(/* webpackChunkName: "group-user" */ './UserDashboard.vue')
const UserProfileEdit = () =>import(/* webpackChunkName: "group-user" */ './UserProfileEdit.vue')

下面修改上面的代码,进行分组打包

// 1、将登录、用户首页模块打包到一组中,组名:login-home
const Login = () =>import(/* webpackChunkName: "login-home" */ '../views/Login')
const Home = () =>import(/* webpackChunkName: "login-home" */ '../views/Home')// 2、将用户模块、权限和角色打包到一组中
const Users = () =>import(/* webpackChunkName: "user-rights" */ '../views/Users')
const Roles = () =>import(/* webpackChunkName: "user-rights" */ '../views/Roles')
const Rights = () =>import(/* webpackChunkName: "user-rights" */ '../views/Rights')// 3、将商品分类、商品参数、商品列表、添加商品打包到一组中
const GoodsList = () =>import(/* webpackChunkName: "goods" */ '../views/goods/GoodsList')
const GoodsAdd = () =>import(/* webpackChunkName: "goods */ '../views/goods/GoodsAdd')
const Category = () =>import(/* webpackChunkName: "goods */ '../views/goods/Category')
const Params = () =>import(/* webpackChunkName: "goods */ '../views/goods/Params')

重新打包

在这里插入图片描述

此时,运行程序,打开各个页面,通过网络查看资源的加载情况,如打开用户列表

在这里插入图片描述

访问商品列表

image.png


http://chatgpt.dhexx.cn/article/orZTydru.shtml

相关文章

路由引入基本概念

目录 路由引入概念 基本概念 路由引入的初始度量值 路由引入概念加深 路由引入的方式 路由引入场景 单点单向引入场景 双点单向引入 单点双向引入 双点双向引入 路由引入概念 基本概念 路由引入(import注入、redistribute重发布) 为什么需要路…

Vue路由详解

目标 1.能够说出什么是路由 2.能够说出前端路由的实现原理 3.能够使用Vue-Router实现前端路由 4.能够实现嵌套路由,动态路由 5.能够实现命名路由以及编程式导航 6.理解并实现后台管理案例 1.路由的概念 路由的本质就是一种对应关系,比如说我们在url地…

路由协议是什么?路由协议在网络中有哪些作用

目录 前言 干货来啦~ 说点想说的 前言 "薄荷,我今天在做一个实验,感觉好复杂啊!而且这里面好多路由协议,我都不知道我的实验对不对呢!"小曼又可怜巴巴地找到我 “你做的是什么实验啊!” “…

【路由】静态路由

静态路由 1、静态路由的概念1.1、概念1.2、注意事项1.3、弊端 2、静态路由的配置须知2.1、出接口为BMA类型2.2、出接口为P2P类型2.3、出接口为NBMA类型 3、默认路由3.1、概念3.2、实验场景3.3、适用场景3.4、注意事项 4、浮动静态路由4.1、静态路由负载均衡的实验场景4.2、静态…

什么是前端路由?

什么是路由? 路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会 看到这样: http://hometown.xxx.edu.cn/bbs/forum.php 有时还会有带.asp或.html的路径,这就是所谓的SSR(Server Side Render), 通…

路由是什么

中秋节公司放假3天,第一天去公司加班,第二天宅了一天,今天第三天,也是中秋节,还是继续宅着… 言归正传,本文站在初学者的角度,尽量通俗的讲解什么是路由,它有什么作用。 如下网络拓…

什么是路由策略?路由策略和策略路由有什么区别? 如何配置路由策略?

对于IP网络工程师来说,路由策略的部署随处可见,无论在运营商IP网络还是在企业网中,路由策略的应用都是非常普遍的。同时,在网络规划中,路由策略的规划也是一个核心的内容。为了方便大家更好的掌握和应用路由策略&#…

什么是路由选择?

路由选择包括两类:①静态路由选择 ②动态路由选择 # 因特网所采用的路由选择协议的主要特点 自适应:动态路由选择,能较好地适应网络状态的变化。 分布式:因特网中的各路由器通过相互间的信息交互,共同完成路由信息的…

路由的基本概念

一、什么是路由 1、路由器的作用:网络中的路由器负责为数据包选择转发路径。 2、路由表:每个路由器中有一个路由表,路由表则是若干条路由信息的一个集合。 3、路由条目的各个字段进行解释: ①Destination/Mask :表示目标IP地…

什么是路由?

介绍 路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。路由发生在OSI网络参考模型中的第三层即网络层。 路由引导分组转送,经过一些中间的节点后,到它们最后的目的地。作成硬件的话&#xff…

什么是路由

认识前端路由 路由其实是网络工程中的一个术语: 在架构一个网络时,非常重要的两个设备就是路由器和交换机。 当然,目前在我们生活中路由器也是越来越被大家所熟知,因为我们生活中都会用到路由器: 事实上,…

路由表介绍

路由表简介 本次采用的是华为数通产品查看路由表的命令是 display ip routing-table 本次采用的是华为数通产品 查看路由表的命令是 display ip routing-table 路由表由以下几项信息元素组成: 1.Destination/Mask 目的网络地址/掩码长度; 2. Proto 协议…

怎么看路由表

电脑上很多网络适配器 路由表决定了怎么跳 当前的路由: destination 目的网段 mask 子网掩码 interface 到达该目的地的本路由器的出口ip gateway 下一跳路由器入口的ip,路由器通过interface和gateway定义一调到下一个路由器的链路,通常情况下…

Linux 查看路由表

文章目录 路由表简介Linux系统查看路由表方法方法1:通过netstat命令方法2:通过route命令方法3:通过ip route命令 route添加/删除默认路由网关Linux多网卡多路由设置 原文地址:https://m.yisu.com/zixun/677706.html 这篇文章将为…

路由表的由来

路由表的实现方法有三种: 1 直连路由 2 静态路由 3 动态路由 直连路由 开启了路由器借口之后,路由表自动感知而来 当路由器吧两个接口的ip地址配置好并开启,就能从其路由表内看到这两个直连子网已经被记录。 静态路由 由管理员手工配置…

路由表的建立和形成

以下内容可翻阅第六版谢希仁版的《计算机网路》和《路由与交换技术》书查看具体协议信息 首先路由表有以下几项形成 •网络号 •下一跳地址 •接口 •Metric:跳数、延迟、费用 例如: 路由表项 †特定主机路由 „前缀长度为32比特的路由表项。 †…

Linux下的路由表详解

linux 路由表 的一些相关资料 linux 路由表维护 查看 Linux 内核路由表 使用下面的 route 命令可以查看 Linux 内核路由表。 # route Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U …

【网络】路由器配置路由表

起序:路由器选择路径的时候,不是根据 MAC 地址 选择路径,而是根据 目标 IP 地址 选择,因为路由器是连接不同网段的,路由器是对不同网段之间进行转发。 一、概述 先说一下 路由,它和 路由器 的意思容易让人…

如何看路由表!

教你如何读懂路由表, 你能读懂路由表吗?不懂?进来看看吧! 当前的路由: destination 目的网段 mask 子网掩码 interface 到达该目的地的本路由器的出口ip gateway 下一跳路由器入口的ip,路由器通过interface和gateway定义一调到下一个路由器的链路,通常情况下,interface和…

路由表的原理和作用

路由器是一种典型的网络层设备。它在两个局域网之间按帧传输数据,在OSI/RM之中被称之为中介系统,完成网络层责在两个局域网的网络层间按帧传输数据,转发帧时需要改变帧中的地址。它在OSI/RM中的位置如图1所示。 一、原…