改变

vue3相对于vue2的改变

一、使用方面

1、增加Composition API

主要优势:

  • 代码组织(双刃剑,抽离不好的话可能比Option API更难维护)

  • 逻辑复用(更细粒度复用)

vue2的逻辑复用主要借助mixin,mixin主要的问题:隐式依赖

这种问题的主要表现:

  • 命名冲突

  • 数据来源不清

2、使用TypeScript重写

  • 类型推断更完善

  • 开发提示更加友好

二、性能方面

1、响应式原理的实现方式的改变

使用Proxy代替Object.defineProperty()进行数据变化监听,优势:

  • 提升编译效率:避免对data的属性递归

  • 解决响应式瑕疵:新增属性、删除属性、数组长度变化等

2、diff算法优化

使用最长相同子序列

3、大量API分包管理

Vue2很多API都是在Vue的原型上,Vue3都拆封到不同的子包中,使用的时候按序引入,这样方便TreeShaking,有效减小打包体积

Last updated