前言
根据自己在做项目同时和参考别人文章,关于性能优化总结,主要从以下四个方面。
一.编码优化
- 1.不要把数据都放在data中,data中得数据会默认增加getter和setter,会收集对应得watcher
- 2.v-for时绑定事件可以用事件代理
- 3.Spa页面采用keep-alive缓存组件
- 4.拆分组件(提高复用,增加可维护性,减少不必要得渲染)
- 5.v-if当值为false时内部指令不会执行,具有阻断功能,很多情况下使用v-if替代v-show
- 6.key保证唯一性(默认vue会采用就地复永策略)
- 7.Object.freeze冻结数据
- 8.合理使用路由懒加载,异步组件
- 9.尽量采用runtime运行时版本
- 10.数据持久化(防抖,节流)
代码尽可能少执行或不执行
二.加载性能优化
- 第三方模块按需导入(babel-plugin-component)
- 滚动到可视区域动态加载
- 图片懒加载
三.用户体验
- app-skeleton 骨架屏
- app-shell app壳
四.打包优化
- 使用cdn得方式加载第三方模块、
- 多线程打包happypack
- splitChunks抽离公共文件
- sourceMap生成
五.缓存压缩
- 客户端缓存、服务端缓存
- 服务端gzip压缩
总结:
赶紧应用到项目中吧,再也不担心面试时关于性能优化问题了,加油🧸⛽️