上QQ阅读APP看书,第一时间看更新
1.2.1 架构变化
Vue3采用monorepo来管理项目,内部源码分为reactivity(响应式)系统、runtime(运行时)系统和complier(编译器)系统三大模块,runtime(运行时)系统和complier(编译器)系统模块又分平台API和核心API,源码结构如图1.1所示。
图1.1 源码结构
在使用过程中可以快速地在多平台引入Vue3,涉及平台专属API时不用修改源码,可自己实现平台API,与核心库相配合形成新的框架,从而使Vue3的使用更广泛。
注:monorepo是指在版本控制系统中的单个代码库,它包含许多项目,这些项目独立存在,可以由不同的团队维护。
Vue3采用composition API挂载原型的方式,相比Vue2采用的options API方式更便于核心库解耦,更便于引用。
options API:通过预设选项的方式进行使用。在Vue2中,页面内的功能需要写在预设好的选项内。例如,data对象内定义了响应式数据,methods对象内定义了页面方法等。这种在特定位置做特定事情的约定,称为options API(选项式API)。
composition API:可以根据逻辑功能组织代码,将同一个功能相关的API放在一起,通过函数的方式进行暴露和使用,一定程度上可不受位置的影响,称为composition API(组合式API)。
composition API更加灵活,但也更加考验使用者的代码组织能力,关于composition API的使用风格将在第10章实战案例中呈现。