专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

浅谈前端性能优化的抓手点

ins518 2024-09-12 18:29:05 技术文章 44 ℃ 0 评论

前端性能优化就我个人经验来说可以分四个方面进行:内容、网络传输、dom渲染、以及最基础的代码层面。

内容层面

内容层面主要是关注内容来源、以及内容结果

  • 使用CDN
  • 单域名与多域名权衡:单域名可以减少DNS查找次数,多域名可以增加浏览器并行下载数量。原则上同一个域下不要超过四个资源
  • 避免重定向、404

网络层面

在网络层面上可以假定网络速度不变,通过减少传输内容的体积、多寡、以及传输时机来加快获得页面的渲染结果。

  • 利用缓存,资源缓存可以提高资源的获取速度
  • 文件压缩通过Accept- Encoding:gzip、deflate、br和服务器约定压缩类型
  • 按需加载、提取公共代码、tree-shaking。这些我们可以通过webpack打包来实现
  • 减少cookie大小
  • 文件合并、css雪碧图
  • 文件预加载、图片懒加载

渲染层面

渲染层面是属于客户端一侧的,我们需要注意静态资源的加载时机,css放顶部、js放底部。另外还需要减少reflow(回流)和repaint(重绘)以及减少dom节点。渲染层面的优化场景通常是长列表优化。服务端返回大量数据,前端如果直接渲染会造成页面卡顿。通常的解决方式就是虚拟dom,懒加载。排除这两种方式后,就需要利用到回流、重绘、减少dom节点这三个原则了。你可以假设一个首屏页面最多可以显示10条数据,你可以保持这10个节点节点不变,在用户滚动的时候计算滚动高度,然后计算替换其中一部分节点的内容。

代码层面

  • 缓存dom节点,减少节点查找、css选择器层级优化
  • 减少dom节点操作
  • 事件监听器及时移除

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表