【WEB】前端性能优化(持续补充)

338 阅读2分钟

1. HTTP优化

  • 减少HTTP请求

一个完整的HTTP请求需要经历DNS查找、TCP握手、浏览器发出请求、服务器接收请求,服务器处理请求并相应,浏览器接收响应等过程,比较繁琐,所以建议适当将多个小文件合并成一个大文件,从而减少HTTP请求次数

  • 使用HTTP/2

http三大版本

  • 合理设置HTTP缓存(强缓存与协商缓存)

HTTP缓存

2. 加载渲染优化

  • 利用CDN加载第三方模块
  • 按需加载资源
  • 尽量减少避免重绘和回流

涉及到样式、尺寸、节点增减等操作,都会触发reflow 和 repaint

  • 尽量用css动画代替js动画,canvas动画代替js动画

3. CSS优化

  • 降低css选择器的复杂性
  1. 浏览器读取选择器,遵循的原则是从选择器的右边到左边读取#block .text p{ color: red; } 首先查找所有p元素=>查找结果1p元素中的元素是否有类名为text的父元素=> 查找结果2p元素中的元素是否有id为block的父元素;
  2. css选择器优先级:内联 > ID选择器 > 类选择器 > 标签选择器;最好选择ID和类选择器
  • 使用flexbox布局模型
  • css写在头部
  • 避免使用css表达式如calc()
  • 可以使用prefetch预加载

preload和prefetch都是link标签rel属性的可选值。preload是告诉浏览器页面必定需要的资源,浏览器一定会加载这些资源;prefetch是告诉浏览器页面可能需要的资源,浏览器不一定会加载这些资源。

4. JS优化

5. 图片优化

6. 首屏加载优化

7. Vue优化

8. React优化

9. 打包优化

10. SEO优化