前端优化主要做哪些?简单好记

139 阅读2分钟

前端主要优化点

  1. 减少请求
  2. 减少对DOM的操作
  3. 压缩代码
  4. 压缩图片
  5. 依赖包按需引入
  6. 使用CDN

先得知道前端是干啥的,然后才能对症优化

前端主要的工作: 界面渲染和交互

交互:这一块与后端息息相关,所以接口的响应时间也算是在(后端)优化之内的事

界面渲染

  1. 原生JS中是对DOM减少操作,页面的DOM元素越少渲染越快
  2. 在(React、VUE)框架中有虚拟DOM的存在,所以都是基于数据驱动的,影响渲染的主要原因是数据和计算时间

优化点

减少HTTP请求

请求越少,前端的交互就越少,前端交互越少,对操作DOM就越少,渲染就越快

使用服务器渲染

就是把前端的任务压力给到后端去完成,后端服务器渲染完成后将html文件返回过来浏览器可以直接渲染

静态资源使用CDN

在本地中有CDN资源就可以减少对服务器的请求,从而更快渲染页面。

CDN(分发策略)会把源站的资源缓存到CDN服务器,当用户访问的时候就会从最近的CDN服务器拿取资源而不是从源站拿取,服务器离我们越远,响应时间就越长。这样做的好处是分散了压力,同时也会提升返回访问速度和稳定性。

文件压缩

webpack插件压缩:

  1. compression-webpack-plugin
  2. uglify-plugin
  3. mini-css-extract-plugin
  4. html-webpack-plugin
  5. image-webpack-loader

减少重绘重排

重排:当改变 DOM 元素位置或大小时,会导致浏览器重新生成渲染树,这个过程叫重排。

重绘:当重新生成渲染树后,就要将渲染树每个节点绘制到屏幕,这个过程叫重绘。不是所有的动作都会导致重排,例如改变字体颜色,只会导致重绘。

重排会导致重绘,重绘不会导致重排

使用 transform 和 opacity 属性更改来实现动画

在 CSS 中,transforms 和 opacity 这两个属性更改不会触发重排与重绘,它们是可以由合成器(composite)单独处理的属性