前端性能优化

168 阅读2分钟

React

  1. React.memo() usrMemo(),useCallback()
  2. 使用React.lazy和Suspense:使用React.lazy和Suspense来实现组件的懒加载,只在需要时才加载组件,减少初始加载时间
  3. 循环加好key值
  4. 使用React.Fragment避免添加额外的DOM

Vue

  1. 频繁切换的显隐的内容用v-show也就是display来控制隐藏,只有打开就一次性决定显示与否的用v-if不去创建
  2. 使用 v-for 必须添加 key
  3. 避免 v-for 与 v-if 一起使用
  4. kep-alive缓存
  5. 合理使用 watch 和 computed
  6. 使用路由懒加载

HTML

  1. HTML代码压缩,将注释、空格和新行从生产文件中删除
  2. 使用语义化标签
  3. 减少重排重绘
  4. 减少iframe数量
  5. 削减DOM数量和层级数量

CSS

  1. CSS文件压缩
  2. 尽量少用@import
  3. 慎用 * 通配符
  4. 删除不必要的单位和零
  5. 异步加载非首屏css
  6. 将样式表放到页面顶部

JS

  1. javascript脚本放到页面底部
  2. 减少DOM访问
  3. 节流与防抖
  4. 合理的ajax恳求
  5. 长列表虚拟滚动优化
  6. 代码压缩
  7. 异步加载非首屏js

感知性能优化

  1. loading
  2. 骨架屏

图片优化

1.根据实际需要选择色深,压缩。 2.小图片引入雪碧图。 3.图片懒加载 4.img图片的alt属性要写, 合理使用target="_blank" 5.采用svg图片或者字体图标

构建优化

  1. 开启线程
  2. 开启 exclude & include
  3. 缩小 CSS 代码
  4. 缩小 JavaScript 代码
  5. tree-shaking
  6. 合理使用 source-map
  7. splitChunks
  8. 模块懒加载

资源加载优化

  1. 使用 Web Workers
  2. DNS预解析
  3. 预加载 preload

浏览器缓存策略

1.浏览器缓存策略分为两种强缓存和协商缓存,并且缓存策略都是通过设置 HTTP Header 来实现的。。

服务器优化

  1. 静态资源使用 CDN
  2. 添加Expires或者Cache-Control响应头
  3. 配置ETag
  4. 使用Gzip压缩