Skip to content

Mini Vue

从零实现一个 mini Vue 3,深入理解 Vue 3 的核心原理。

对标 Vue 3 源码(vuejs/core),覆盖 响应式系统、虚拟 DOM、渲染器、组件系统、编译器 五大核心模块。

项目架构

packages/
├── reactivity/       → 响应式系统(reactive / ref / computed / effect / watch)
├── runtime-core/     → 运行时核心(VNode / 渲染器 / 组件 / Diff)
├── runtime-dom/      → DOM 平台渲染器
├── compiler-core/    → 编译器核心(parse / transform / codegen)
└── shared/           → 公共工具函数

与 Mini React 的对照

Vue 3 核心概念React 对应概念
reactive / refuseState / useReducer
effect + 依赖收集Fiber + updateQueue
VNode + patchFiberNode + Reconciler
Diff(双端 + LIS)Diff(单向遍历)
Slotschildren / render props
provide / injectuseContext
nextTick 调度同步/并发调度
编译器(parse → transform → codegen)JSX 转换(Babel plugin)

课程目录

课节内容文档
01搭建项目架构01-搭建项目架构
02实现响应式基础 - reactive02-实现响应式基础-reactive
03实现 effect 与依赖收集03-实现effect与依赖收集
04实现 ref 与 computed04-实现ref与computed
05实现 watch 与 watchEffect05-实现watch与watchEffect
06响应式进阶06-响应式进阶
07实现响应式的测试框架07-实现响应式的测试框架
08实现虚拟 DOM - VNode08-实现虚拟DOM-VNode
09实现渲染器 - mount 流程09-实现渲染器-mount流程
10实现渲染器 - update 流程10-实现渲染器-update流程
11实现 Diff 算法11-实现Diff算法
12实现自定义渲染器12-实现自定义渲染器
13实现组件的初始化流程13-实现组件的初始化流程
14实现 Props 与 Emit14-实现Props与Emit
15实现 Slots 机制15-实现Slots机制
16实现组件更新流程16-实现组件更新流程
17实现 provide / inject17-实现provide-inject
18实现生命周期 Hooks18-实现生命周期Hooks
19实现 nextTick 与异步调度19-实现nextTick与异步调度
20实现 Teleport 与 KeepAlive20-实现Teleport与KeepAlive
21实现编译器 - parse 模板解析21-实现编译器-parse模板解析
22实现编译器 - transform 转换22-实现编译器-transform转换
23实现编译器 - codegen 代码生成23-实现编译器-codegen代码生成
24实现完整流程 - compile 联调24-实现完整流程-compile联调

用心学习,用代码说话 💻