Vue性能优化(你有哪些Vue的最佳实践)
编码阶段
- 减少
data
中的数据,因为data中的数据会增加getter
和setter
,会产生相应的watcher
;data
中的数据的层级也不要太深;一些不会变的数据使用freeze
冰冻起来 v-if
和v-for
不要连用- 使用
v-for
时给每项元素绑定事件时使用事件代理?但Vue已经做了优化了,再者传参不好传,也有唯一的key了,感觉必要性不大。保证key的唯一性 - 合适使用
keep-alive
缓存组件 - 使用路由懒加载、异步组件
- 第三方模块按需导入
- 长列表滚动到可视区动态加载
- 图片懒加载
SEO优化
- 预渲染
- 服务端渲染SSR
打包代码
- 压缩代码
- Tree Shaking/Scope Hoisting
- 使用CDN加载第三方模块
- 多线程打包happypack
- splitChunks抽离公共文件
- sourceMap优化
用户体验
- 骨架屏
- PWA
- 缓存(客户端缓存、服务端缓存)、服务端开启gzip压缩等。