大家好 👋
最近在做一个 Vue3 + pnpm + monorepo 的前端项目,遇到一个挺奇怪的性能问题,卡得我一头雾水 😅
想请教下有没有人遇到过类似的情况,或者有排查思路。
🧩 项目背景
- 技术栈:Vue3 + Vite
- 包管理:pnpm(monorepo 多包结构)
- 构建:Vite(测试和生产环境配置一致)
- 路由:Vue Router(history 模式)
- UI 框架:Arco design(部分页面也有自定义组件)
🧠 问题描述
平时用着挺流畅的,但有一个现象特别诡异:
- 项目刚启动时,页面切换很顺滑 ✅
- 放置大概 30 分钟左右不操作,然后再切换页面,就会明显卡一下(大概 1 秒左右) 😨
- 卡完这一下后,后续再切就又完全正常了 🌀
- 刷新页面后也变回正常,直到再次放置一段时间又复现
- 测试环境和生产环境里都能复现这个情况
就是那种「久坐后起身」的感觉 😂
🔍 我目前尝试过的排查方向
- 看过接口调用,确定不是接口慢
- 有一次捕捉到一种情况,加载js很慢,4kb的js文件要5秒钟来加载
- 页面数据量不大,内存占用也不高
目前实在没找到明确原因。
❓想请教大家几个问题
- 有没有人也遇到过这种「放一会儿后第一次切换页面卡顿」的情况?
- 你们觉得可能是 浏览器层 / Vue 层 / Vite 打包 / 内存回收 / 缓存机制 哪一层的问题?
- 有什么推荐的排查思路或者工具吗?(比如 Performance、Memory、Profiler 之类的)
🙏 补充说明
如果需要我可以贴 Performance 的分析截图或者部分页面的切换逻辑代码。
真的有点想不通这个「只卡一下」的行为,求各位大佬帮忙指路 🧭