当前位置: 首页 > news >正文

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

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.rkmt.cn/news/12132.html

相关文章:

  • 深入解析:小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统
  • 各种软件的官方文档和安装包下载地址记录
  • 基于导频的OFDM系统的信道估计(使用LS估计算法)
  • 快递100
  • python+springboot+uniapp微信小代码“美好食荐”框架 美食推荐 菜谱展示 用户互动 评论收藏框架
  • 领嵌iLeadE-588网关AI边缘计算盒子一键部署二次开发
  • 深入解析:PyTorch 神经网络工具箱核心内容
  • 【英语启蒙动画合集】0基础宝宝必看的动画,超全!直接下载~
  • AI 自动化智能体训练营 | 借助人工智能提升工作效率,打造自己的智能体工作流
  • 「Java EE开发指南」用MyEclipse开发的EJB开发工具(一)
  • MX-X21
  • 深入解析:博客SEO优化实战:从Google到百度,一套可复制的排名增长SOP
  • 完整教程:Prompt Tuning提示词微调工程
  • 集训队作业1——qoj#11722
  • US$59 EGS ISN Authorization for CGDI Prog BMW MSV80 Key Programmer
  • 《IDEA 2025破解 长效使用指南:2099 年有效期配置实战之JetBrains全家桶有效》​
  • 鸿蒙自定义弹出框响应式更新数据
  • 多机动模型PHD滤波算法
  • 时序InSAR形变结果合并操作说明 - ENVI
  • 第一周博客作业-介绍自己
  • 完整教程:zookeeper+kafka
  • AI大模型应用简介 - 努力-
  • 完整教程:01_5分钟运行你的第一个LLM:Hugging Face入门
  • codeforces 1504 div3
  • 2 day - when
  • Chormium 密码管理器表单结构体说明(基于Chromium138)
  • 深入解析:KRaft 运维从静态到动态 Controller
  • Apple Books 对 epub 支持的限定(未完待续)
  • win10开机输入密码后一直转圈,很长时间才登录到桌面
  • 如何通过 Python + Selenium + BeautifulSoup 爬取动态加载的网页数据 - 教程