An open API service indexing awesome lists of open source software.

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

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 功能