前端性能优化

255 阅读1分钟

渲染层、编码优化

  • 流畅的标准是16.6ms内完成页面的渲染,通过火焰图分析函数执行时间。。
  • 使用懒加载资源、预加载资源
  • 虚拟长列表,节点复用
  • 优化渲染逻辑,提前渲染页面整体框架,后加载数据
  • 首屏ssr提升首屏渲染时间
  • 减少加载资源阻塞渲染,scrpit标签async、defer(async放弃了依赖关系)
  • 减少重绘和回流
  • 使用requestAnimationFrame提升动画性能
  • web worker 分担计算资源
  • 减少dom操作
  • 使用Immutable 减少对比深拷贝性能消耗
  • 使用Why did you update 库发现不必要的渲染
  • react-lazyload 懒加载组件
  • 使用Reselect优化redux

webpack优化

  • 资源压缩
  • 利用webpack代码分割
  • 动态导入模块
  • 去除console、等无用代码

网络层

  • 合并http请求
  • 使用gzip压缩
  • 利用长连接减少tcp建连次数
  • 利用多域名加载资源,回复浏览器限制
  • 雪碧图减少http请求
  • cdn
  • 前端缓存
  • http
  • bigpipe

react层

  • 使用shouldComponentUpdate、pruecomponent、React.memo、memoize库减少render
  • 长列表加上key,减少列表更新时 diff时间

内存优化

  • 图片、svg、iconFont