我可以为我的本地主机网站或离线使用 pagespeed insights 吗?

Can I use pagespeed insights for my local host website or offline?

我可以为我的本地主机网站或离线使用 pagespeed insights 吗?

是的。

使用 google chrome 开发工具中的“Lighthouse”选项卡。

这是一个关于如何做到这一点的很棒的入门教程: https://www.youtube.com/watch?v=5fLW5Q5ODiE

编辑:用户 izogfif 指出“审核”选项卡已被“灯塔”取代。

运行Lighthouse

的另一种方式

虽然这是一个老问题,但在某些情况下可能对人们有用的本地 运行 Lighthouse(Page Speed Insights 背后的引擎)的替代方法。

您可以很容易地在本地计算机上安装 Lighthouse Command Line Interface (CLI)

与使用开发人员工具中的“灯塔”选项卡相比,这为您提供了一些显着优势。

自动化

首先你可以自动化它。您可以 运行 在每次重大更改/提交时检查您是否没有破坏某些东西。

或者,如果您想检查网站上的每个页面,您可以将其自动化,如果您有数百个页面,这将非常有用。

存储结果

其次,您将获得完整的 JSON 响应(或 CSV 或 HTML 报告,您的选择),因此您可以将每个页面的部分(或全部)审核结果存储到数据库中,并且查看是否有任何页面性能不佳,或者您是在改善还是破坏了页面性能。

自定义

你也可以在运行ning测试时设置你自己的参数。

例如,我喜欢将我的“cpuSlowdownMultiplier”设置得非常高(8 或 10),因为我有一个不错的 CPU 并且我想捕捉在较慢的设备上我可能会错过的任何瓶颈/长任务。这非常适合让您意识到您的(我的!)JavaScript 是多么草率!

你也可以在 运行.

之前通过 headers、set cookies(目前有点困难,但他们正在努力)等

您甚至可以使用 --disable-storage-reset 查看网站在用户已经缓存图像等的后续页面访问时如何响应(您可以在开发人员工具的 Lighthouse 选项卡中执行此操作,所以也许不是很好的理由)。

因为您获得的是原始计时数据,所以您也可以根据需要设置自己的标准。

木偶师

锦上添花的是,您可以使用 puppeteer(或类似工具)自动执行复杂任务。

假设您想检查一个只有在您登录后才能访问的页面,use puppeteer to log in and then run lighthouse

那么我应该使用哪个?

如果您要定期测试/想要自动测试,我会提倡使用 CLI,开发人员工具版本用于快速和脏检查/不经常测试。

我个人花了大约一个小时来安装和习惯 Lighthouse,但我还必须安装并学习如何使用 nodeJS (npm) 命令行将 lighthouse 安装到我的项目中(是的,我是一个学习缓慢的人!).

如果我不需要学习这些,可能需要 5 分钟来安装和 运行 你的第一次测试。

安装后使用 CLI 实际上非常简单。

唯一的缺点是您需要每隔几个月更新一次,这在浏览器中是自动的。然而即便如此,这对我来说也是积极的,就好像你随着时间的推移使用旧版本进行比较可能会有用。

哦,你也可以 运行 它在远程站点上,这样你就可以从你自己的机器上自动测试生产站点(如果你离 PSI 服务器很远并且想要一个主意,这很有用您的网站在当地社区中的表现)。

如果您有一个只允许列入白名单的 IP 地址并想在那里进行测试的暂存服务器,这也非常有用(同样可以使用 Developer tools Lighthouse 完成,但对批量测试等很有用)