https://github.com/cloudhao1999/guide-mini-vue
手把手带你构建自己的 Vue3,只有手写一遍,才能真正的掌握源码!!!实现 Vue3 中的核心三大模块:reactivity 响应式、runtime 运行时、compiler 编译
https://github.com/cloudhao1999/guide-mini-vue
mini-vue vue3
Last synced: over 1 year ago
JSON representation
手把手带你构建自己的 Vue3,只有手写一遍,才能真正的掌握源码!!!实现 Vue3 中的核心三大模块:reactivity 响应式、runtime 运行时、compiler 编译
- Host: GitHub
- URL: https://github.com/cloudhao1999/guide-mini-vue
- Owner: cloudhao1999
- Created: 2023-02-02T08:21:54.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-03T02:33:10.000Z (over 3 years ago)
- Last Synced: 2025-01-30T05:42:05.675Z (over 1 year ago)
- Topics: mini-vue, vue3
- Language: JavaScript
- Homepage:
- Size: 324 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### mini-vue 介绍
> 手把手带你构建自己的 Vue3,只有手写一遍,才能真正的掌握源码!!!实现 Vue3 中的核心三大模块:reactivity 响应式、runtime 运行时、compiler 编译
### 当前进度
- [x] 01-Vue3 源码结构的介绍
- [x] 02-reactivity 的核心流程
- [x] 03-runtime-core 初始化的核心流程
- [x] 04-runtime-core 更新的核心流程
- [x] 05-setup 环境:集成 jest & ts
- [x] 06-实现 effect & reactive 依赖收集&触发依赖
- [x] 07-实现 effect 返回 runner
- [x] 08-实现 effect 的scheduler 功能
- [x] 09-实现 effect 的 stop 功能
- [x] 10-实现 readonly 功能
- [x] 11-实现 isReactive 和 isReadonly
- [x] 12-优化 stop 功能
- [x] 13-实现 reactive 和 readonly 嵌套对象转换功能
- [x] 14-实现 shallowReadonly 功能
- [x] 15-实现 isProxy 功能
- [x] 16-实现 ref 功能
- [x] 17-实现 isRef 和 unRef 功能
- [x] 18-实现 proxyRefs 功能
- [x] 19-实现 computed 计算属性
- [x] 20-实现初始化 component 主流程
- [x] 21-使用 rollup 打包库
- [x] 22-实现初始化 element 主流程
- [x] 23-实现组件代理对象
- [x] 24-实现 shapeFlags
- [x] 25-实现注册事件功能
- [x] 26-实现组件 props 功能
- [x] 27-实现组件 emit 功能
- [x] 28-实现组件 slots 功能
- [x] 29-实现 Fragment 和 Text 类型节点
- [x] 30-实现 getCurrentInstance
- [x] 31-实现provide-inject 功能
- [x] 32-实现自定义渲染器 custom renderer
- [x] 33-更新element流程搭建
- [x] 34-更新element 的 props
- [x] 35-更新 element 的 children
- [x] 36-更新 element 的 children - 双端对比diff 算法 (1)
- [x] 37-更新 element 的 children - 双端对比diff 算法 (2)
- [x] 38-更新 element 的 children - 双端对比diff 算法 (3)
- [x] 39-学习尤大解决bug的处理方式
- [x] 40-实现组件更新功能
- [x] 41-实现 nextTick 功能
- [x] 42-编译模块概述
- [x] 43-实现解析插值功能
- [x] 44-实现解析 element
- [x] 45-实现解析 text 功能
- [x] 46-实现解析三种联合类型
- [x] 47-parse 的实现原理
- [x] 48-实现 transform 功能
- [x] 49-实现代码生成 string 类型
- [x] 50-实现代码生成插值类型
- [x] 51-实现代码生成三种联合类型
- [x] 52-实现编译 template 成 render 函数
- [x] 53-实现 monorepo
- [x] 54-实现 watchEffect
### 课程地址
[Vue3 源码实战课 (cuixueshe.com)](https://learn.cuixueshe.com/p/t_pc/course_pc_detail/column/p_61fb595ce4b0beaee4275e1e)