前端性能优化

梳理整理一下前端性能优化常见思路与技巧

性能优化的目的是让用户觉得你的网站访问起来速度快,即使实际速度可能并没有变,只是感觉变快了。因此优化可以从两个方向,即真的快和感觉变快了。

真的快

真的快就是让网站资源以最快速度到达用户浏览器,可以按照下面的思路和方法去优化。

传输的内容体积要小

  1. 图片要压缩
  2. 图片根据支持格式选择体积更小的格式
  3. css,js内容压缩
  4. 服务端开启Gzip,在传输数据之前再次压缩

传输的内容数量要少

  1. 图片图标合并(css sprite),svg图标合并(svg sprite)
  2. css,js文件打包合并

网速要足够快

  1. 服务器出口带宽够
  2. 南北差异,不同地方部署不同服务器
  3. 静态资源放CDN

服务器响应要及时

  1. 接口响应速度要快(数据库优化,查询优化,算法优化)
  2. cpu,内存,硬盘读写不要成为瓶颈,多加机器
  3. 重要页面静态化。服务端提前渲染生成静态页面,用户访问时直接返回

能重复利用的资源要利用好

  1. 服务器设置合适的静态资源缓存时间
  2. 前端文件打包时做合理的分块,让公共资源缓存后能被多个页面复用

暂时不需要的资源先不要

  1. 图片懒加载
  2. 功能,模块,组件按需加载

将来需要的资源抽空先拿到

  1. DNS 预解析
  2. 预连接
  3. 预获取
  4. 预渲染

体验快

体验快就是网站交互是流畅的,舒适的。

滚动页面不要有迟滞感

  1. 短时间连续大量触发操作要节流

常见操作不要拖泥带水

  1. DOM操作不能过于频繁
  2. 不要出现内存泄漏
  3. 优化复杂算法

动画不要卡顿

  1. 多用CSS动画,少用JS动画
  2. 开启硬件加速
  3. 动画或过渡执行时间不要太久

臆想的优化不是优化,无明显成效的优化不是优化。浏览器的性能已经足够快,不要因为“过渡优化”牺牲代码的可读性

先做简单见效快的优化,再做复杂见效慢的优化。