可以从网络优化,静态文件,js优化,css优化出发:更快的请求响应,减少请求,更小的文件体积,减少浏览器渲染压力。具体的有:
-
CDN
-
SSR
-
首屏渐进式加载
-
服务端文件压缩(gzip)
-
代码压缩
-
webpack 树摇 tree shaking
-
按需引入
-
http请求不带cookie
-
减少http请求: http 1.x的雪碧图
-
http多地址请求 http 1.x 同一域名的请求有一定数量限制,超过限制数目的请求会被阻塞
-
使用http2.0 (常见问题:HTTP2.0相比HTTP1.x做了哪些升级?多路复用;二进制分帧;服务端推送;数据流优先级;头部压缩)
-
抽成公共代码
-
尽量使用缓存
-
接口按需请求
-
减少dom
-
图片懒加载
-
路由懒加载
-
脚本标签异步加载执行 预加载 放在底部等
-
减少脚本标签
-
减少变量,少用全局变量(要从局部找到全局)
-
减少循环,优化算法
-
事件委托,子dom事件由父元素响应
-
节流、防抖
-
异步处理
-
减少闭包
-
多线程
-
减少回流,使用伪元素 减少js操作dom
-
合并添加dom节点
-
content-visibility 屏幕外不渲染
-
降低 CSS 选择器的复杂性
-
移除事件监听、计时器
-
虚拟滚动
-
减少css背景图
-
vue Object.freeze()
-
vue 使用函数式模板