关于 core-web-vitals-tuner
面向开发者的 Core Web Vitals 优化技能,按优先级介绍 LCP、INP 和 CLS 的改进方法,并提供验证建议。
主要功能
- 01LCP 优化方法
- 02INP 交互改进
- 03CLS 布局稳定修复
- 04Lighthouse CI 验证
- 05生产环境指标监控
适用场景
- 01提升页面加载性能
- 02减少用户交互延迟
- 03避免意外布局偏移
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ patricio0312rev/ skills --skill core-web-vitals-tuner安装后在 Claude Code 中输入/core-web-vitals-tuner确认已加载。
详细介绍
Core Web Vitals 调优器
系统性地优化 LCP、INP 和 CLS。
LCP 优化(<2.5s)
优先处理的修复项:
-
优化图像(效果最大)
<img src="hero.jpg" /> <img src="hero.jpg" srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w" sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1200px" loading="eager" fetchpriority="high" /> -
预加载 LCP 资源
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high" /> -
内联关键 CSS
<style> /* Above-the-fold styles */ .hero { display: flex; height: 100vh; } </style> -
使用 CDN
- 从 CloudFront/Cloudflare 提供图像
- 启用 HTTP/2 或 HTTP/3
INP 优化(<200ms)
修复项:
-
对开销较大的交互进行防抖
import { debounce } from "lodash"; const handleSearch = debounce((query) => { fetchResults(query); }, 300); -
对繁重任务使用 Web Workers
const worker = new Worker("processor.js"); worker.postMessage(largeData); worker.onmessage = (e) => console.log(e.data); -
代码拆分
const HeavyComponent = lazy(() => import("./HeavyComponent"));
CLS 优化(<0.1)
修复项:
-
为图像/广告预留空间
<img src="banner.jpg" width="1200" height="600" /> -
使用 CSS aspect-ratio
.video-container { aspect-ratio: 16 / 9; } -
避免在现有内容上方插入内容
.notification { position: fixed; top: 0; }
验证
# Lighthouse CI
npm run lighthouse -- --url=https://example.com
# Web Vitals in production
import { getCLS, getFID, getLCP } from 'web-vitals';
getCLS(console.log);
getFID(console.log);
getLCP(console.log);
输出检查清单
- 已优化 LCP(<2.5s)
- 已优化 INP(<200ms)
- 已优化 CLS(<0.1)
- 已设置监控
- 性能回归测试 ENDFILE
评论
支持 Markdown