https://github.com/charleewa/mini-vue
实现最简 vue3 模型,用于深入学习 vue3
https://github.com/charleewa/mini-vue
vue vue3
Last synced: about 1 month ago
JSON representation
实现最简 vue3 模型,用于深入学习 vue3
- Host: GitHub
- URL: https://github.com/charleewa/mini-vue
- Owner: CharleeWa
- Created: 2022-05-07T07:22:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-03T10:09:33.000Z (over 2 years ago)
- Last Synced: 2025-04-06T08:13:32.841Z (about 2 months ago)
- Topics: vue, vue3
- Language: TypeScript
- Homepage:
- Size: 240 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mini-vue
实现最简 vue3 模型,用于深入学习 vue3。 base on [mini-vue](https://github.com/cuixiaorui/mini-vue)
- ✔ setup 项目&集成jest&集成ts
- ✔ 实现 effect & reactive & 依赖收集 & 触发依赖
- ✔ 实现 effect 返回 runner
- ✔ 实现 effect 的 scheduler 功能
- ✔ 实现 stop 功能
- ✔ 实现 readonly 功能
- ✔ 实现 isReadonly 和 isReactive 功能
- ✔ 优化 stop 功能
- ✔ 实现 reactive 和 readonly 嵌套对象转换功能
- ✔ 实现 shallowReadonly 功能
- ✔ 实现 isProxy 功能
- ✔ 实现 ref 功能
- ✔ 实现 isRef 和 unRef 功能
- ✔ 实现 proxyRefs 功能
- ✔ 实现 computed 计算属性功能
- ✔ 实现初始化 component 主流程
- ✔ 使用 rollup 打包库
- ✔ 实现初始化 element 主流程
- ✔ 实现组件代理对象(包含 this. api 的实现原理)
- ✔ 实现 shapeFlags
- ✔ 实现注册事件功能
- ✔ 实现组件 props 功能
- ✔ 实现组件 emit 功能
- ✔ 实现组件 slots 功能
- ✔ 实现 Fragment 和 Text 类型节点
- ✔ 实现 getCurrentInstance
- ✔ 实现 provide/inject 功能
- ✔ 实现自定义渲染器 custom renderer
- ✔ 更新element流程搭建
- ✔ 更新element 的 props
- ✔ 更新 element 的 children (1)
- ✔ 更新 element 的 children - 双端对比diff 算法 (1)
- ✔ 更新 element 的 children - 双端对比diff 算法 (2)
- ✔ 更新 element 的 children - 双端对比diff 算法 (3)
- ✔ 学习尤大解决 bug 的处理方式
- ✔ 实现组件更新功能
- ✔ 实现 nextTick 功能
- ✔ 实现解析插值功能
- ✔ 实现解析 element 标签
- ✔ 实现解析 text 功能
- ✔ 实现解析三种联合类型
- ✔ 实现 transform 功能
- ✔ 实现代码生成 string 类型
- ✔ 实现代码生成插值类型
- ✔ 实现代码生成三种联合类型
- ✔ 实现编译 template 成 render 函数
- ✔ 补充实现 watchEffect 功能