performance - 删除未使用的代码 Google Page Speed 和其他错误
问题描述
Google Page Speed在这里向我报告一个我无法理解的错误。
删除未使用的代码 我使用 Google Page Speed 所说的所有 javascript,实际上 vendor.js 是项目的主要脚本。与 Webpack 和 Laravel 编译统一。
那么为什么 Google Page Speed 说我不使用这些脚本呢?在我上传lazysizes 插件之前,我没有得到任何这些。
另一方面,网站加载速度很快。我认为 Google Page Speed 非常不可靠。
解决方案
并不是没有使用整个脚本,而是大部分脚本没有用于初始页面渲染。
Google 鼓励您将 JavaScript 拆分为基本代码以呈现页面/初始化组件,然后将其他所有内容放在稍后加载的单独文件中。
它还鼓励您从这些文件中清除任何多余的 JavaScript。
这是为了节省下载的 Kb,以及节省 V8 引擎的 JavaScript 解析和编译时间(对于低端手机中较慢的处理器很重要)。
要自己检查这一点,请在 Google Chrome 中打开开发人员工具并打开“覆盖”窗口。按记录,看看每个脚本有多少没有被使用。在您的网站上,大约 60% 的下载的 JS 最初没有被使用,您应该先将您使用的 40% 推送到网络上,然后在其他所有内容加载后加载其余部分。(这是非常困难的,除非你首先为它构建,尽你所能!)。
至于你的网站速度很快——它在我的电脑上用租用线路在 7 秒内完全加载(所以你可以得到尽可能快的速度,尽管我在英国,所以总体上可能会增加一秒)
在具有 4 倍 CPU 减速的模拟 4G 连接上(模拟具有有限处理能力但未连接到 WiFi 的手机),您的网站需要近 18 秒才能完成加载,总页面重量为 2.5Mb(压缩 - 它的 5.5Mb解压)。
这是 PSI 在“移动”选项卡上执行的测试(4 倍减速和 4G 模拟)
页面重量是您最大的问题之一,还有网站使用的 JavaScript 数量,这些都是需要关注的领域。也尽量减少请求的数量,你有 149 个不同的网络请求,一次最多只能同时下载 8 个。
虽然 PSI 只是一种工具,但它确实会产生相当准确的结果,但顶部的“字段数据”是来自浏览器的真实数据,所以我会特别注意这一点,特别是“首次内容绘制 (FCP)”,其中 40%您的用户体验平均或缓慢的时间。
推荐阅读
- oracle-apex - Oracle Apex 19.1 PLS-00306:调用“AJAX”时参数的数量或类型错误
- mysql - 按比例正确地总结休假时间 - mysql
- python - 如何删除从 python 字符串返回的单引号?
- c# - 如何正确地继续将多个脚本添加到游戏对象
- angular - 如果导入了 mapcontainer,routerlink 不起作用
- php - 无法删除一个表中在另一个表中具有相应相关值的条目
- python - 按值python打印字典键和值
- java - 在我的第一个应用程序中使用了 SQLite DBHelper。填写表格后单击“注册”按钮时应用程序重新启动
- angular - 环境变量不隐藏(安全)?
- php - 格林威治标准时间的奇怪 strtotime 一直有效到 3 月 31 日