Taro 源码与架构深度解析(进阶向)
本文档基于本仓库 Taro 4.1.12-alpha.4(见根目录 package.json 的 version 字段)源码与官方公开资料整理,聚焦:CLI 与插件内核、编译 Runner(Webpack5 / Vite)、小程序模板体系、Runtime 与 Reconciler、样式与 Babel 转换链路、性能优化手段,并与 uni-app 等方案做横向对比。
技术深挖合集:小程序/RN 编译、iOS·Android 边界、转换层复杂度、抖音支付宝等平台、CSSOM·TaroElement 等,已 全部并入 09-常见问题.md,不再单独拆文件。
设计决策精简版:08-关键设计决策.md 保留条目与依据,细节问答见 09。
CSS/JS 转化「引擎」设计抽象(阶段 / 类 IR / Lowering / 多后端,类比编译器用语而非流程清单):10-CSS与JS转化引擎设计.md。
分析中凡涉及「设计原因」,尽量对应到 源码注释、模块职责或官方博客/issue 的出处。
范围说明:当前工作区为源码快照且未附带完整 Git 历史,文档中的 issue 级细节 以 Taro Issues 与 RFC 仓库 为延伸检索入口。
目录
- 核心架构概述
- 编译管线与 Runner(Webpack / Vite)
- 小程序模板、hydrate 与 setData
- 框架层:React / Solid 等与 Reconciler
- CSS 与各端样式转换
- 性能优化:预构建、分包、compileMode 等
- 与 uni-app 等方案的横向对比
- 关键设计决策与依据(精简)
- 常见问题(含编译深挖与多端)
- CSS 与 JS 转化引擎设计(分层 / IR 抽象)
源码版本
- Taro(monorepo): 4.1.12-alpha.4
- 分析时间: 2026 年 3 月(基于当前工作区快照)