自学内容网 自学内容网

前端性能优化

性能优化方法

  • DNS 优化:避免浏览器并发数限制,将HTML/CSS/JS,jpg/png,api 接⼝等不同资源放在不同域名下,从⽽减少DNS的请求次数;DNS 预解析。
  • CDN 回源:回源指浏览器访问CDN集群上静态⽂件时,⽂件缓存过期,直接穿透 CDN 集群⽽访问源站机器的⾏为。
  • 浏览器缓存优化:IndexDB、cookie、localStorage、sessionstorage。
  • HTML5 离线化:通过选⽤不同的离线包类型
    • 全局离线包:包含公共的资源,可供多个应⽤共同使⽤
    • 私有离线包:只可以被某个应⽤单独使⽤
  • 接⼝优化
    • 接⼝合并:减少http请求
    • 接⼝上 CDN:把不需要实时更新的接⼝同步到CDN,如果接⼝数据更新再重新同步 CDN
    • 接⼝域名上 CDN:增强可⽤性,稳定性
    • 合理使⽤缓存:异步接⼝数据优先使⽤本地 localstorage 中的缓存数据,通过 md5 判断是否需要数据更新
  • ⻚⾯加载策略优化
    • ⽹络请求优化:减少⽹络资源的请求和加载耗时
      • 预加载
      • 开启GZIP
      • 预渲染:可以让浏览器提前加载指定⻚⾯的所有资源。
      • 使⽤ HTTP/2、HTTP/3提升资源请求速度
      • 资源请求合并,减少http请求
      • 合理使⽤defer,async
    • ⾸屏加载优化
      • 对⻚⾯内容进⾏分⽚/分屏加载
      • 懒加载:监听scroll事件;使⽤IntersectionObserver
      • ⾸屏只加载需要的资源,对于不需要的资源不加载。
      • 客户端离线包⽅案
      • 客户端进⾏预请求和预加载
    • 渲染过程优化:减少⽤户操作等待时间
      • 按需加载
      • 减少回流和重绘
      • 减少/合并dom操作,减少浏览器的计算损耗
    • 浏览器运算逻辑优化
      • 拆解⻓任务,避免出现⻓时间计算导致⻚⾯卡顿
      • 提前将计算结果缓存
    • 关键渲染路径优化:关键渲染路径是指浏览器将HTML,CSS,JavaScript转换为屏幕上所呈现的实际像素这期间所经历的⼀系列步骤。
      • CSS 的 <link> 标签放在<head></head>之间
      • <script> 标签放在 </body> 之前
  • ⻚⾯静态化(SSR)
  • 图⽚优化:选择合适的图⽚格式,减小图片大小。
  • HTML代码优化
    • 精简HTML代码:减少HTML的嵌套;减少DOM节点数;减少⽆语义代码;删除多余的空格、换⾏符、缩进等等
    • ⽂件放在合适位置:CSS 样式⽂件链接尽量放在⻚⾯头部;JS 放在HTML底部
  • CSS 代码优化
    • 提升⽂件加载性能:使⽤外链的 CSS;尽量避免使⽤ @import,@import影响css⽂件的加载速度
    • 精简 CSS 代码:利⽤CSS继承减少代码量;避免使⽤复杂的选择器,层级越少越好
    • 使用 CSS 精灵图
  • 字体⽂件优化
    • 使⽤cdn加载字体⽂件
    • 开启gzip压缩字体⽂件
    • 通过font-display来调整加载顺序
    • 字体裁剪,剔除不需要使⽤到的字体
    • 内联字体
  • JS 代码优化
    • 提升 JS ⽂件加载性能:JS ⽂件放在body 底部;合并js⽂件;合理使⽤defer和async
    • JS 变量和函数优化:尽量使⽤ id 选择器;尽量避免使⽤ eval;js 函数尽可能保持整洁;
    • 使⽤节流、防抖函数;使⽤事件委托
    • JS 动画优化:避免添加⼤量 js 动画;尽量使⽤ css3 动画;尽量使⽤ Canvas 动画;使⽤ requestAnimationFrame 代替 settimeout 和 setinterval。
  • webpack 打包优化

原文地址:https://blog.csdn.net/XiugongHao/article/details/140659110

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!