Chcek Website Performance with Lighthouse CI
通过 Lighthouse CI 自动化检测网站性能
前言
近期为这个博客添加了 Lighthouse CI 用于检测网页性能,原先平时都是依靠 PageSpeed Insights 这类手动工具来检测,但是这样的方式有以下几个缺点:
- 单次的测试结果不稳定
- 手动测试耗时费力
- 不利于团队开发
希望将性能检验这件事达成自动化验证,就不用每次过了很久才知道某个页面的性能或无障碍有问题,可以在问题发生的当下及时修复。
Lighthouse CI
第一步:建立配置文件
可以在项目根部建立一个 lighthouse CI 配置文件 支持各种各样文件格式,像是我的博客就是使用 .lighthouserc.yml
来设置:
这些配置文件参数都可以参考 Lighthouse CI 配置文件 来设置应该如何检测网页性能,像是要测试几次、测试文件夹的深度、测试结果的存放位置……等。目前我的设置是关闭一些不需要的检测项目、PWA 验证,并且设置每个页面测试次数为 3 次,默认会检测到我项目中的 dist
文件夹内的所有页面。
第二步:生成检测报告
建立好配置文件之后可以通过执行 Lighthouse CI 来产生检测报告,我的做法是下载相关套件 @lhci/cli
并在 package.json
中加入指令于本地端执行:
等到在本地修复好现有问题后就可以把整个流程搬运到 CI 上,这里我使用 GitHub Action 来执行 Lighthouse CI:
总结
这样不到 3 步骤就轻松替我的网站添加了 Lighthouse CI 来检测网页性能,不用再手动测试每个页面,只要每次提交代码就能自动检测性能问题,这样的方式对于团队开发来说是一个很好的性能检测工具,也能让开发者更快速的修复问题。 可以参考看看这则 PR来了解我在博客中添加 Lighthouse CI 的过程。