分析前端性能问题(LCP、FCP、CLS、包体积),并针对加载和运行时效率提出优先级排序的实用优化建议。
前端性能优化(Frontend Performance)是一项面向实际任务的技能,主要用于围绕加载性能与运行性能,给出可落地的优化方案与优先级;用户说「性能优化」「首屏慢」「页面卡顿」「打包体积大」「LCP/FCP 差」;
大图、阻塞渲染、服务端。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
围绕加载性能与运行性能,给出可落地的优化方案与优先级。
| 问题 | 常见原因 | 优化方向 |
|---|---|---|
| LCP 慢 | 大图、阻塞渲染、服务端慢 | 图片优化、优先关键资源、SSR/预取 |
| FCP 慢 | JS/CSS 阻塞、首屏依赖多 | 拆包、关键 CSS 内联、延迟非关键 |
| TTI 长 | 主线程长任务、大 bundle | 代码分割、懒加载、减少主线程工作 |
| 问题 | 常见原因 | 优化方向 |
|---|---|---|
| CLS 高 | 无尺寸图片/字体、动态插入内容 | 宽高比/尺寸、font-display、预留占位 |
| 滚动/操作卡顿 | 重排多、长任务、大列表 | 虚拟列表、防抖节流、requestAnimationFrame、减少 reflow |
| 问题 | 优化方向 |
|---|---|
| JS 体积大 | 按路由/按需拆包、tree-shaking、替换大依赖、分析 bundle |
| 图片大 | 格式(WebP/AVIF)、尺寸、懒加载、CDN |
| 请求多 | 合并、缓存策略、预连接/preload |
不要一上来就输出所有优化方向,先判断用户卡在哪:
| 用户描述 | 实际问题 | 第一步 |
|---|---|---|
| 「首屏慢」「白屏时间长」 | 加载性能 | 问:有没有 Lighthouse 数据?LCP 是多少?是 SSR 还是 CSR? |
| 「页面卡顿」「滚动不流畅」 | 运行时性能 | 问:卡顿发生在什么操作时?列表有多少条数据? |
| 「打包体积大」「bundle 太大」 | 资源体积 | 直接让用户跑 npx @next/bundle-analyzer 或 vite-bundle-visualizer,看大模块再说 |
| 「LCP/FCP 差」「Core Web Vitals 不达标」 | 具体指标 | 问:哪个指标?多少分?在哪个页面? |
| 没有数据,只是「感觉慢」 | 未量化 | 先让用户跑 Lighthouse,拿到数据再分析,不要凭感觉给优化建议 |
没有数据就不给优化方案——「感觉慢」可能是网络问题、可能是服务端问题、可能是前端问题,方向不同。
加载性能(LCP > 2.5s 或 FCP > 1.8s),按这个顺序排查:
没有 async/defer, 阻塞)?运行时卡顿,按这个顺序排查:
bundle 体积,看分析报告:
每个方案必须说明:改动量、预期收益、风险。
按这个顺序推荐,不要把大改动放在前面:
快速见效(1 天内,低风险)
width/height 属性(修 CLS)font-display: swap(修 FCP)loading="lazy"中等改动(1-3 天,中等风险)
dynamic import)import { debounce } from 'lodash-es')大改动(需评估,高风险)
不要把大改动作为首选推荐,除非快速方案已经做完且效果不够。
每个优化做完后,告诉用户怎么验证效果:
## 性能优化报告 ### 现状 - 指标或现象:… - 主要瓶颈:… ### 优化方案(按优先级) | 方案 | 收益 | 成本 | 优先级 | |------|------|------|--------| | 1. … | … | … | 高/中/低 | | 2. … | … | … | … | ### 建议落地顺序 1. … 2. … ### 验证方式 - 优化后建议复测:Lighthouse、Performance、关键操作耗时
dynamic 懒加载、Image 组件、分析 next/bundle-analyzer相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章