性能优化原则:

  • 多使用内存、缓存或其他方法
  • 减少 CPU 计算量,减少网络加载耗时
  • (适用于所有编程的性能优化 —— 空间换时间)

一、加载角度

1、减少资源体积

压缩代码

2、减少访问次数

2.1 合并代码

多个文件合并为一个文件,减少网络请求次数

2.2 SSR 服务端渲染

  • 服务端渲染:将网页和数据一起加载,一起渲染
  • 非 SSR(前后端分离):先加载网页,再加载数据,再渲染数据

2.3 缓存

  • 静态资源加 hash 后缀,根据文件内容计算 hash
  • 文件内容不变,则 hash 不变,则 url 不变
  • url 和文件不变,则会自动触发 http 缓存机制,返回 304

3、使用更快的网络:CDN

二、渲染角度

  • CSS 放在 head,JS 放在 body 最下面
  • 尽早开始执行 JS,用 DOMContentLoaded 触发
  • 懒加载(图片懒加载,上滑加载更多)
  • 对 DOM 查询进行缓存
  • 频繁 DOM 操作,合并到一起插入 DOM 结构
  • 节流 throttle、防抖 debounce