zhangdizhangdi

性能优化

参考

原则

  • 减小资源大小
  • 提高响应和加载速度
  • 优化资源加载时机
  • 优化加载方式

加载时性能优化

  1. DNS 预解析
  2. 使用 HTTP2
  3. Gzip 压缩传输
  4. 缓存
  5. 静态资源使用 CDN
  6. preload / prefetch
  7. 服务器端渲染
  8. 压缩、合并文件
  9. 按需加载代码,减少冗余代码
  10. 使用 defer / async 加载 JS
  11. 图片优化(压缩、懒加载)
  12. 采用 svg 图片或者字体图标

运行时性能优化

  1. 减少重绘与重排
  2. 避免页面卡顿
  3. 长列表优化
  4. 滚动事件性能优化
  5. 使用 Web Workers

prefetch/preload

preload 是告诉浏览器页面必定需要的资源,浏览器一定会加载这些资源
prefetch 是告诉浏览器页面可能需要的资源,浏览器不一定会加载这些资源

默认的加载优先级规则:

  1. html、css、font 这三种类型的资源优先级最高;
  2. 然后是 preload 资源(通过<link rel="preload">标签预加载)、script、xhr 请求;
  3. 接着是图片、语音、视频;
  4. 最低的是 prefetch 预读取的资源。

在 VitePress 生成的页面中,首页的资源均使用 preload,而路由对应的资源,则使用 prefetch