项目优化思路

189 阅读2分钟

本文先记录优化的方向,没有写具体的优化实现

1. HTTP相关

1.1 减少 HTTP 请求

(1)静态资源(css、js(涉及按需加载)、图片(小图片转换成base64,使用base64图片的好处)),可以通过webpack进行设置 (2)接口请求(这个与后台同学密切相关)

1.2 如果一个页面有很多图片,类似于慕课网,将图片储存在不同的子域名(HTTP的并发概念)
1.3 使用 HTTP2(涉及到HTTP2的优势)

2. 通过<script> 引入第三方js,为避免阻塞放到最下面,或者使用defer(defer与async的区别)

3. 打包时使用合适的webpack插件压缩js、css

4. 图片优化

(1)懒加载(懒加载的原理)
(2)缩略图(可以单独使用小的图片)
(3)对每一张静态图片进行充分压缩(在线网站:tinypng.com/)
(4)尽量用css、css3的特性代替图片(比如标签样式:长方形两边有半圆)

5. webpack优化

(1)使用按需加载,vue的router里面进行设置,使用webpack的import(),同时可以使用webpackChunkName为打包文件重命名
(2)使用 Tree Shaking 去除未引用代码(依赖 webpack 的 import、export)

6. js代码设计层面

(1)合理使用储存函数
(2)不要为了几个简单的方法而引入整个第三方库(比如为了操作几个dom而引入jquery,为了使用防抖节流而引入lodash)

7. 组件化(如何抽离公用文件)

8. 动画,使用 requestAnimationFrame

9. web workers(web workers的作用?使用场景?使用方法)

10. 合理使用位操作(位操作的优势)

11. 优化css选择器(css选择器的优先级)

12. 首页空白时显示loading(体验优化)

13. 后端渲染(好处?)