perf-analyzer

前端性能分析助手。分析组件渲染性能、Bundle 大小、网络请求效率,给出优化建议。适用于:(1) 页面加载慢排查,(2) 组件重渲染优化,(3) Bundle 体积优化,(4) 运行时性能瓶颈定位。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "perf-analyzer" with this command: npx skills add sakumyz/skills/sakumyz-skills-perf-analyzer

前端性能分析助手

分析性能问题并给出具体优化方案。

分析维度

1. 渲染性能

自动检查项

检查项检测方式优化方案
不必要的重渲染搜索未 memo 化的组件、不稳定的 props 引用React.memo / useMemo / useCallback
大列表无虚拟化搜索 .map() 渲染超过 50 个元素react-virtualized / vue-virtual-scroller
昂贵的计算搜索 render/setup 中的复杂计算useMemo / computed
状态更新过于频繁搜索 setState/ref 在 scroll/resize 等高频事件中的调用防抖/节流
Context 滥用React: 检查 Context value 是否每次都是新引用拆分 Context 或 useMemo value

2. Bundle 分析

自动检查项

检查项检测方式优化方案
大型依赖全量导入import lodash vs import { debounce } from 'lodash-es'按需导入 / 替换为轻量替代
未使用的依赖package.json 中有但代码中未引用移除
未代码分割路由组件是否使用 lazy/defineAsyncComponent动态导入
重复依赖检查 lock 文件中的版本重复统一版本
图片资源未优化搜索 .png/.jpg 直接引用WebP 格式 + 压缩

3. 网络请求

自动检查项

检查项检测方式优化方案
请求瀑布流串行的 await API 调用Promise.all 并行
缺少缓存相同 API 多次调用SWR / React Query / 手动缓存
缺少请求取消组件卸载未取消进行中的请求AbortController
未处理竞态快速切换导致旧请求覆盖新数据竞态保护

4. 内存泄漏

自动检查项

检查项检测方式优化方案
事件监听未移除addEventListener 无对应 removeEventListenercleanup 函数
定时器未清理setInterval/setTimeout 无对应 clearcleanup 函数
闭包持有大对象事件回调/定时器中引用 state 或大数据WeakRef 或解绑

工作流程

  1. 读取项目配置:package.json、构建配置
  2. 按维度扫描:根据用户描述的问题选择扫描维度
  3. 输出报告
## 性能分析报告

### 概要
- 发现 N 个性能问题
- 预计优化后 [加载时间/渲染次数/bundle大小] 改善 XX%

### 🔴 高优先级
#### [问题描述]
- **位置**: `file.tsx` L42
- **影响**: [具体影响]
- **优化方案**: [具体方案 + 代码示例]

### 🟡 中优先级
...

### 🟢 低优先级
...

常用优化速查

详细的优化模式和代码示例,在分析时根据具体问题按需提供。

React 优化关键词

  • React.memouseMemouseCallback — 减少重渲染
  • React.lazy + Suspense — 代码分割
  • useTransition / useDeferredValue — 优先级调度

Vue 3 优化关键词

  • v-once / v-memo — 减少重渲染
  • defineAsyncComponent — 代码分割
  • shallowRef / shallowReactive — 减少深层响应式追踪
  • <KeepAlive> — 缓存组件实例

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

component-scaffolder

No summary provided by upstream source.

Repository SourceNeeds Review
General

excel-sheet-splitter

No summary provided by upstream source.

Repository SourceNeeds Review
General

redmine-ticket-to-task

No summary provided by upstream source.

Repository SourceNeeds Review
General

add-form-validation-rule

No summary provided by upstream source.

Repository SourceNeeds Review