前端的优化主要分为两部分,页面性能和构建速度,今天我们主要讲的是页面性能的优化

想要优化,需要先了解到一些指标,才能知道哪里需要优化,优化到什么水平才行。另外,优化千万不要过早优化。

但是,了解指标之前我们先来回顾下Chrome关键渲染路径 ,有助于我们更好的理解指标

具体一些参数可以看网站性能衡量标准,也可以从另一维度理解关键性能指标

了解完后,我们使用Lighthouse,来获取相关数据

lighthouse --locale=zh http://mithras-test.zswl.cn:8888/workbench --view --emulated-form-factor=desktop // 桌面端

通常来说,前端的性能分析可以从时间空间两个角度来进行。

  • 时间:常见耗时,如页面加载耗时、渲染耗时、网络耗时、脚本执行耗时等。
  • 空间:资源占用,包括 CPU 占用、内存占用、本地缓存占用等。

具体优化

资源大小优化

  • 减少 echarts 包的大小
// 避免全量引入
import * as echarts from "echarts";
 
// 按需引入
import "echarts/lib/chart/line";

因为现在默认打成 dll 包, 默认引入了 echarts.min.js

  • 类似 moment、dayjs 只用一个和去掉 locale
  • 压缩首页图片,通常使用tinypng

升级成 HTTP 2

内部做了已经做了的优化

大部分可以根据前端性能优化中,一一对应寻找过去

路由懒加载


已经做了 ,也包了 ,但是没生效

HTTP 缓存

index.html 不缓存,其他资源走协商缓存

文件大小和分包

大部分都在 Webpack 优化

没时间写了,去前端优化前端性能优化对应找下

数值监控

错误监控系统

自动化

Chrome DevTools Protocol