概述

关于本文

本文通过对Vue3源码删繁就简,深入了解Vue3内部实现逻辑。并结合与Vue2的对比,分析两者之间的异同。

Vue3新增了Composition API组合式API,能够通过较低级别的数据驱动视图和组件生命周期,将与同一个逻辑关注点相关的代码配置在一起。从而实现一种更自由形式的编写组件逻辑的方式。

Vue3的核心逻辑是基于Composition API的,对于Options API采用兼容处理。

Vue3与Vue2的对比

  • 对于数据变动的监听,Vue2基于Object.defineProperty实现,而Vue3基于Proxy实现
  • Vue2使用JavaScript + Flow开发,而Vue3使用TypeScript开发
  • Vue2采用面向对象的编程范式,而Vue3采用的是函数式编程
  • Vue3新增了组合式API(Composition API),兼容了原来的Option API,而Vue2是基于Option API

Vue3的整体结构

Vue3主要由数据响应系统reactivity、渲染器renderer、编译器compiler这三部分组成。