一. 首屏渲染
- 压缩代码体积
- 压缩图片,合图减少
http
请求 css
样式重置,只重置用到的元素即可- 异步加载组件,分包加载
- 懒加载图片
- 分页加载数据
- 指定
link
元素的rel
属性为dns-prefetch
类型,对域名进行预解析 - 使用
SSR
技术,在服务器端生成完整的HTML
页面结构,不需要通过浏览器执行js
代码来创建页面结构
二. 页面代码层面
- 对于需要频繁更新的页面元素,必要时可以使用CSS contain 属性限制计算布局、样式和绘制等的范围
- 利用节流来避免过高频率执行某些操作,例如毫秒级的倒计时,滑动监听
- 数据更新,只更新发生变化的数据
- 减少
dom
操作导致的回流,重绘 - 使用一些
css
特殊的属性,如transform
属性中的一些3D
相关的函数来创建新的合成层,新的合成层会使用GPU
进行加速绘制,但会增加浏览器的内存使用 - 如果浏览器可以即时决定你的照片(images)和表格(tables)宽高,它在展示网页时就不必进行内容重新排版。这不仅可以加速网页的显示,还能在网页完成加载的过程中防止恼人的布局改变。因此,图片的
height
和width
应尽可能确定下来
三. 网络层面
- 升级带宽
- CDN加速