①Taro1/2 版本属于编译型架构,主要通过对类 React 代码进行语法编译转换的方式,得到各个端可以运行的代码,再配合非常轻量的运行时适配,以及根据标准组件库、API 进行差异抹平,从而实现多段适配的目的;
②Taro1 与 Taro2 的主要区别是:Taro1 在小程序端是自建构建体系;Taro2 是所有端都采用 Webpack 进行编译,可以降低 Taro 自身编译系统的复杂度,同时能够让开发者使用 Webpack 的生态来自定义编译过程和结果;
③Taro3 可以大致理解为解释型架构,主要通过在小程序端模拟实现 DOM、BOM API 来让前端框架直接运行在小程序环境中,从而达到小程序和 H5 统一的目的;并同时支持 React、Vue 等框架;
④Taro 的核心部分就是将代码编译成其他端代码,首先是将代码解析成抽象语法树,然后对 AST 进行遍历和替换,最后根据新的 AST 生成编译后的代码;