个人的简化版 Vue3 框架实现,采用 TypeScript 编写(其实还是JavaScript),内包含大量注释,旨在帮助理解 Vue3 的核心原理与实现机制。项目结构和构建方式借鉴了 Vue3 的 Monorepo 方案,目前包含响应式系统(reactivity)、运行时核心(runtime-core)等模块。
⚠️ 本项目仍处于开发中,部分功能正参考 Vue.js 不断完善中。
packages
├─ shared # 存放各模块通用的工具函数与类型
├─ runtime-dom # 实现 DOM 环境下的渲染、操作相关逻辑
├─ runtime-core # 核心运行时代码,平台无关的逻辑都在这里实现
└─ reactivity # Vue3 响应式系统的实现,包括响应式对象、依赖收集、Effect 等
-
克隆项目:
git clone https://github.com/mealcomes/vue-mini.git cd vue-mini
-
安装依赖(需先安装 pnpm):
pnpm install
-
启动开发调试:
- reactivity 模块
pnpm run dev
- runtime-dom 模块
pnpm run dom
- reactivity 模块
建议启动开发调试后,结合各模块 dist
目录下的 *.html
文件(同样包含大量注释)学习,帮助更好地理解源码实现。
ISC
- Vue.js:本项目是对 Vue3.5.14 源码的简化实现,感谢尤雨溪及 Vue 团队的无私贡献。
- TypeScript
- pnpm
- 以及所有开源社区的开发者们,感谢你们的知识共享。
如有建议或问题,欢迎 issue 交流。