前端性能优化
用户体验对应用来说至关重要,前端性能优化在前端开发环节上起着越来越重要的作用。本文将介绍前端性能优化常见的几种方法。
减少 HTTP 请求数量
由于现代浏览器限制的并发请求数量为 5-6 个,每次建立 HTTP 请求耗时非常大,所以在开发过程中尽量合并请求,例如合并 js,css,图片等。
合并文件有一个严重的缺点是,就是如果有一个文件做了小改动,那么会导致整个文件缓存失效,需要重新加载,无法合理利用缓存。
使用 HTTP2,需要 HTTPS 支持
如果网站支持 HTTP2,上面的减少 HTTP 请求变得不是那么必要了。因为 HTTP2 建立的 TCP 链接可以支持多路复用。
服务器压缩
gzip(GUNzip)压缩,目前使用最多的一种压缩格式,可以减少文件的大小。
合理利用缓存
- 利用浏览器的强缓存,服务器协商缓存时间,可以减少服务器的压力。
- ajax 缓存
- 合理使用
localStorage
,sessionStorage
JS 相关
- js 放在 body 结尾之前,也可以利用 async 和 defer 属性,实现异步加载
- 使用节流和防抖,减少触发频率
- 避免循环操作 DOM,可以使用
documentFragment
在内存操作后再插入 DOM - 移除无用代码,可以利用 webpack 的 tree shaking
- 按需加载,避免一次性加载无用的 js 文件
CSS 相关
- 避免使用
@import
,使用link
代替 - 使用
transform
来实现动画效果 - 移除无用的 css 代码,减少 css 文件大小
- 减少回流和重绘
图片格式
- 合理使用图片格式(可以使用 webp 格式,TPG(腾讯退出的新的图片格式)
- 图片懒加载
- 使用雪碧图
- 使用字体目标