本文先记录优化的方向,没有写具体的优化实现
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)