项目的性能优化其实就是为了更快更稳定的去提高项目的用户体验,首先通过插件或者工具对项目进行一下量化测评,分析一下测评结果,对症下药。我一般分为资源优化跟代码优化两个方向;
资源优化:文件的获取速度,缓存,代码压缩等
-
1.图片格式的选择与压缩。
首页大图使用webp格式,或者jpg进行图片压缩;icon使用png;加载缩略图等
-
2.懒加载与预加载
图片懒加载
微信小程序的image标签具有lazy-load属性,自动实现懒加载,但是不太友好,无法实现默认图效果,可以监听图片的加载状态,自己去写一个监听方法或者图片组件实现懒加载效果;
vue的思路也是一样的,首先要创建一个自定义指令v-lazy,然后吧img标签里的src属性设置成默认图片,利用intersectionObserve方法去监听dom出现的时机去设置真正的图片地址;
vue使用keep-alive进行路由懒加载
-
3.网络优化
利用浏览器缓存,减少网络请求。
使用CDN加速,将不同的网络资源分布到多个服务器,减少访问延迟。
代码优化:如何让代码执行的更快,跑的更快等;
- 1.for循环添加key,加速虚拟DOM的比对,加速页面渲染
- 2.合理利用v-if与v-show,减少绘制频率;
- 3.添加防抖与节流,避免误操作与恶意操作;