跳到主内容

前端性能优化

用户体验对应用来说至关重要,前端性能优化在前端开发环节上起着越来越重要的作用。本文将介绍前端性能优化常见的几种方法。

减少 HTTP 请求数量

由于现代浏览器限制的并发请求数量为 5-6 个,每次建立 HTTP 请求耗时非常大,所以在开发过程中尽量合并请求,例如合并 js,css,图片等。

合并文件有一个严重的缺点是,就是如果有一个文件做了小改动,那么会导致整个文件缓存失效,需要重新加载,无法合理利用缓存。

使用 HTTP2,需要 HTTPS 支持

如果网站支持 HTTP2,上面的减少 HTTP 请求变得不是那么必要了。因为 HTTP2 建立的 TCP 链接可以支持多路复用。

服务器压缩

gzip(GUNzip)压缩,目前使用最多的一种压缩格式,可以减少文件的大小。

合理利用缓存

  • 利用浏览器的强缓存,服务器协商缓存时间,可以减少服务器的压力。
  • ajax 缓存
  • 合理使用 localStoragesessionStorage

JS 相关

  • js 放在 body 结尾之前,也可以利用 async 和 defer 属性,实现异步加载
  • 使用节流和防抖,减少触发频率
  • 避免循环操作 DOM,可以使用 documentFragment 在内存操作后再插入 DOM
  • 移除无用代码,可以利用 webpack 的 tree shaking
  • 按需加载,避免一次性加载无用的 js 文件

CSS 相关

  • 避免使用 @import,使用 link 代替
  • 使用 transform 来实现动画效果
  • 移除无用的 css 代码,减少 css 文件大小
  • 减少回流和重绘

图片格式

  • 合理使用图片格式(可以使用 webp 格式,TPG(腾讯退出的新的图片格式)
  • 图片懒加载
  • 使用雪碧图
  • 使用字体目标