vite-vue3 项目优化首屏加载速度

news/2025/9/26 11:14:57/文章来源:https://www.cnblogs.com/MrZhous/p/19113073

A嵌入B,B加载速度太慢了,需要4s+,需优化:
B系统技术栈: vue3 + vite
优化结果如下,上下对比还有有差距的:
image

一、先处理: 首屏加载的文件——先优化文件大

step1: 安装可视化插件 rollup-plugin-visualizer;

viteconfig.js

export default defineConfig({base: process.env.PUBLIC_PATH || '/pomp-budget/',plugins: [vue(),visualizer({open: true,gzipSize: true,brotliSize: true,})],resolve: {alias: {'@': fileURLToPath(new URL('src', import.meta.url)),},},server: {proxy: {},},build: {outDir: 'dist',minify: true,chunkSizeWarningLimit: 5000,assetsInlineLimit: 1024 * 1024 * 10,cssCodeSplit: false,sourcemap: process.env.NODE_ENV === 'development' ? true : false,rollupOptions: {plugins: [],output: {// Static resource classification and packagingchunkFileNames: 'assets/js/[name]-[hash].js',entryFileNames: 'assets/js/[name]-[hash].js',assetFileNames: 'assets/[ext]/[name]-[hash].[ext]',},},},
})

step2: 查看报告

npm run build 后会自动打开报告 (即 vite build)
根据报告查看具体那些占用内存大;

目前看出lodash文件较大

step3: 根据报告优化

  1. lodash换成lodash-es, lodash-es支持treeSharking
  2. 存在moment和dayjs两个插件功能重复,选择性使用dayjs

二、再处理: 首屏加载的文件——再优化文件多

可以看出系统在加载时,首屏加载了157个文件,chrome请求线程最多一次性6个加载,如此导致的加载排队,是首屏加载慢的主要原因

step1: 观察build配置发现以前的build完全没考虑打包,按照如下调整:

image

step2: 再执行vite preview,加载文件减少到100个,查看前后对比,相当明显~

image

step3: 还没完:100个文件也是多的,也是需要处理减少的,因为同一路由文件没有进行合包处理,所以每个组件都是最小化原子,这是在生产上不期望的——但我不会优化了,哈哈...拜拜,这速度也满足要求了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析:小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统

深入解析:小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

建设自己公司的网站公司网站本地如何弄

目录 前言 一、Mybatis-Plus 开启日志的方式 二、测试 三、日志分析 章末 前言 小伙伴们大家好,相信大家平时在处理问题时都有各自的方式,最常用以及最好用的感觉还是断点调试,但是涉及到操作数据库的执行时,默认的话在控制台…

12_TCP和UDP实现服务端和客户端的通信

一、TCP实现多进程通信 server_process.c 服务端代码: #define _XOPEN_SOURCE #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdlib.h…

各种软件的官方文档和安装包下载地址记录

各种软件的官方文档和安装包下载地址记录组件 官网文档 官方下载地址Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/index.html https://www.elastic.co/downloads/past-releases?product=…

基于导频的OFDM系统的信道估计(使用LS估计算法)

在OFDM系统中,信道估计是关键的一步,因为它直接影响到信号的解调和系统性能。最小二乘(LS)估计算法是一种常用的信道估计方法,它通过已知的导频符号来估计信道响应。 基于MATLAB的OFDM系统信道估计的实现,使用LS…

Day22super详解

super是一个关键字,用于子类访问父类的属性方法与构造器,与this一样在调用构造器的时候两者由于java语法的强制要求,都需要放在第一行,所以当用this取调用子类的构造器是,无法在用super去调用父类的构造器,否则会…

台州网站搜索排名巴中建设网站

千视携NDI 6技术闪耀2024 CCBN展会&#xff0c;呈现轻量化媒体解决方案 2024年4月24日至26日&#xff0c;北京首钢会展中心将举办第三十届中国国际广播电视网络技术展览会&#xff08;CCBN2024&#xff09;。这是中国广播电视行业的一项重要盛会&#xff0c;将有国内外超600家…

九讯鹿网站建设导购个人网站怎么做的

1、UML-4+1视图 UML-4+1视图将会与后面的架构4+1视图会一一对应上 视图往往出现在什么场景:我们看待一个事物,我们觉得它很复杂,难以搞清楚,为了化繁为简,我们会从一个侧面去看,这就是视图。而4+1视图就是分不同角度去看事物。 逻辑视图(logical view) 一般使用类与对…

外发图纸如何控制的最佳实践与注意事项

在工程项目中,外发图纸的管理非常重要。为了保证图纸的准确性和安全性,各个环节都需要有效控制。首先,标准化流程是基础,确保图纸的生成和审核符合要求。此外,使用像Ftrans B2B企业间文件安全交换系统这样的工具,…

Gitee:中国开发者生态的数字底座正在重构技术格局

Gitee:中国开发者生态的"数字底座"正在重构技术格局 在全球数字化转型加速推进的当下,中国开发者生态正在经历一场深刻的变革。作为本土领先的代码托管平台,Gitee凭借其独特的本土化优势和创新服务模式,…

快递100

[ { "label":"中通快递", "value":"zhongtong", "type":"国内运输商" }, { "label":"圆通速递&q…

文件同步软件是什么?主要有哪几种类型?

文件同步软件在现代企业中扮演着关键角色,帮助保障数据一致性和提高协作效率。它的运用不仅能确保团队成员在不同设备间实时共享文件,还能简化数据管理流程。以Ftrans FTC文件传输管控系统为例,这种软件支持多种文件…

“铸网2025”山东省工业和互联网CTF竞赛-web

还是太菜了源码 <?php highlight_file(__FILE__); class MGkk8 {public $a;public $b;public function rpl2(){$b = $this->b;if ($this->a == "RPG") {($b->a)($b->b."");}} } c…

辽宁模板网站建设公司晋州做网站的联系电话

深入miniqmt&#xff1a;创建交易对象的完整指南 在量化交易领域&#xff0c;miniqmt作为一个强大的工具&#xff0c;为开发者提供了执行程序化交易的接口。在进行任何交易操作之前&#xff0c;首先需要创建一个交易对象。本文将详细介绍如何在miniqmt中创建并配置交易对象&am…

python+springboot+uniapp微信小代码“美好食荐”框架 美食推荐 菜谱展示 用户互动 评论收藏框架

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

领嵌iLeadE-588网关AI边缘计算盒子一键部署二次开发

扩展接口丰富: 供电 12V 指示灯 5V电源指示灯 RS485 3路隔离RS485 RS232 1路调试串口 CAN 2路隔离CAN DI 4路 DO 4路 HDMI 1路 Audio 1路 AHD摄像头 4路 Ethernet 4路 4G/5G 1路 WiFi/BT 1路 USB3.0 OTG 1路 程序烧录…

2025年值得选的文件摆渡系统品牌解析

在数据安全与传输效率需求并行的当下,文件摆渡系统品牌已成为企业跨网协作的核心工具。传统传输方式常因安全漏洞与管理低效,导致数据泄露风险与运维成本攀升。而专业品牌如Ftrans Ferry跨网文件安全交换系统,通过自…

分布式专题——14 RabbitMQ之集群实战 - 指南

分布式专题——14 RabbitMQ之集群实战 - 指南2025-09-26 10:57 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

QT与Spring Boot通信:实现HTTP请求的完整指南 - 教程

QT与Spring Boot通信:实现HTTP请求的完整指南 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&qu…