最近在用react搭建项目,发现react的脚手架升级了,在项目根目录下发现了一个新的文件 – reportWebVitals.js。很好奇这是个啥。
reportWebVitals.js内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
const reportWebVitals = onPerfEntry => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
getCLS(onPerfEntry);
getFID(onPerfEntry);
getFCP(onPerfEntry);
getLCP(onPerfEntry);
getTTFB(onPerfEntry);
});
}
};
export default reportWebVitals;

里面有些比较熟悉的字母CLS、FID、FCP、LCP、TTFB这些跟性能指标有些关系的。
然后第三行有引入一个web-vitals的库。在npm上搜到了web-vitals
create-react-app 官网中也有一篇文档Measuring Performance来描述在react项目中使用web-vitals。

web-vitals是什么

web-vitals是Google发起的,旨在提供各种质量信号的统一指南,我们相信这些质量信号对提供出色的网络用户体验至关重要。

其可获取三个关键指标(CLS、FID、LCP)和两个辅助指标(FCP、TTFB)。这些指标的含义可以查看后面的参考文档。

web-vitals 的使用

查看文档

web-vitals 的测试

  • 方法一:在控制台打印

将create-react-app项目中的index.js文件最后一行改为

reportWebVitals(console.log);

运行项目:

控制台采集到的数据

  • 方法二:使用谷歌扩展工具

安装web-vitals-extension

  • 方法三:数据上报到服务器

需要后端配合提供接口,然后将数据上传到服务器。

  • 方法四:使用谷歌的API

参考:gtag

这个好麻烦,还要登录Google账户,注册项目,绑定信用卡等。。。一系列操作。

参考文档