- 减少HTTP请求。(一个完整的http请求:DNS查找,TCP握手,浏览器发出http请求,服务器接收请求,服务器处理请求并发出响应,浏览器接收响应并解析、渲染。)
- 使用HTTP2。(解析速度快、多路复用、首部压缩)
- 使用服务端渲染。
- 将CSS放在文件头部,JS文件放在底部。(
- CSS 执行会阻塞渲染,阻止 JS 执行
- JS 加载和执行会阻塞 HTML 解析,阻止 CSSOM 构建)
- 善用缓存,不重复加载相同的资源。
- 压缩文件。
- 懒加载。
- 尽可能使用css3替代图片。
- 减少重绘重排。(浏览器渲染过程
- 解析HTML生成DOM树。
- 解析CSS生成CSSOM规则树。
- 解析JS,操作 DOM 树和 CSSOM 规则树。
- 将DOM树与CSSOM规则树合并在一起生成渲染树。
- 遍历渲染树开始布局,计算每个节点的位置大小信息。
- 浏览器将所有图层的数据发送给GPU,GPU将图层合成并显示在屏幕上。)
- 使用 transform 和 opacity 属性更改来实现动画。(transforms 和 opacity 不会触发重排与重绘)