Vue3对比Vue2做了哪些优化

1.源码优化

  • (1)源码的优化主要体现在使用menorepo和TypeScript管理和开发源码,提升了自身代码的可维护性

  • (2)相对于Vue2的源码组织方式,menorepo把这些模块拆分到不同的package中,每个package有各自的API、类型定义和测试,使得模块拆分更细化,职责划分更明确,模块之间的依赖关系也更加明确,开发人员更容易阅读、理解和更改所有模块源码,提高代码的可维护性

  • (3)package是可以独立于vue.js使用,这一点是vue2做不到的,可以单独依赖这个响应式库而不用去依赖整个vue.js,减少了引用包的体积大小

  • (4)使用了TypeScript有类型语言开发

2.性能优化

  • (1)源码体积上:引入了tree-shaking的技术,通过编译阶段的静态分析,找到没有被引入的模块并标记,如果你在项目中没有引入Transition、keepAlive等组件,那么它们对应的代码就不会打包,减小了代码体积

3.数据劫持优化

  • 数据是响应式的,必须劫持数据的访问和更新,使用了Proxy对数据进行劫持,Proxy不能监听到内部深层次的对象变化,因此Vue3的处理方式是在getter中去递归响应式,这样的好处是真正访问到的内部对象才会变成响应式,而不是无脑递归

4.编译优化

  • Vue2的数据更新并触发重新渲染的粒度是组件级别的,而Vue3通过编译阶段对静态模板的分析,编译生成了Block Tree

  • Block tree是一个将模板基于动态结点指令切割的嵌套区块,每个区块内部的结点结构是固定的,每个区块只需要以一个数组来追踪自身包含的动态结点

  • 借助Block tree ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值