前端与浏览器 / 进阶
Core Web Vitals 优化:从指标回到用户路径
介绍三项核心体验指标的组成、现场数据与实验室数据差异,以及每类问题的优先优化路径。 LCP、INP 和 CLS 分别对应加载、交互与视觉稳定性。
先分清测量环境
实验室数据可重复,适合调试;现场数据来自真实设备、网络和访问路径,适合判断用户是否真的变快。两者不一致很正常。 指标应携带页面类型、设备、网络和版本维度。只看全站平均值会掩盖长尾,通常关注第 75 百分位。
让 LCP 图片出现在初始 HTML,并设置 fetchpriority=high;拆分超过 50ms 的主线程长任务;为图片、广告位和异步组件预留尺寸;减少首屏第三方脚本并延后非关键代码。
EXAMPLE / 01LCP
import { onLCP, onINP, onCLS } from 'web-vitals';
const report = metric => navigator.sendBeacon('/rum', JSON.stringify({
name: metric.name,
value: metric.value,
id: metric.id,
path: location.pathname,
build: window.__BUILD_ID__
}));
onLCP(report);
onINP(report);
onCLS(report);把实现拆成可验证的小块
指标需要按页面和环境拆分
最后回到真实页面检查
优化目标是用户路径,不是单次跑分