50+Vue经典面试题源码级详解(45):Vue3在哪些方面做了优化?

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第22天,点击查看活动详情

前言

小伙伴们好,这是村长《Vue经典面试题源码级详解》系列文章第 45 题,前面已完成题目合集在此: 历时一个月,2.6W字!50+Vue经典面试题源码级详解,你值得收藏!

学习群

我组织了一个面试学习群,关注村长公众号村长学前端,回复“加群”,大家一起卷~

相关学习资源

本系列有配套视频思维导图开源项目,大家学习同时千万不要忘了三连 + 关注 + 分享,有道是喝水不忘挖井人~

Vue3.0 性能提升体现在哪些方面?

分析

vue3在设计时有几个目标:更小、更快、更友好,这些多数适合性能相关,因此可以围绕介绍。


思路

  • 总述和性能相关的新特性
  • 逐个说细节
  • 能说点原理更佳

回答范例

  • 我分别从代码、编译、打包三方面介绍vue3性能方面的提升
  • 代码层面性能优化主要体现在全新响应式API,基于Proxy实现,初始化时间和内存占用均大幅改进;
  • 编译层面做了更多编译优化处理,比如静态提升、动态标记、事件缓存,区块等,可以有效跳过大量diff过程;
  • 打包时更好的支持tree-shaking,因此整体体积更小,加载更快

体验

通过playground体验编译优化:sfc.vuejs.org

image-20220626184606427


知其所以然

为什么基于Proxy更快了:初始化时懒处理,用户访问才做拦截处理,初始化更快:

github1s.com/vuejs/core/…

轻量的依赖关系保存:利用WeakMap、Map和Set保存响应式数据和副作用之间的依赖关系

github1s.com/vuejs/core/…

猜你喜欢

转载自juejin.im/post/7113497843666518047