本项目采用 TDD 驱动测试的开发方式,抽离出了 vue3 的核心逻辑,完成了一个最小 vue3 模型的实现。
🚀 Jest
🚀 TypeScript
🚀 rollup
✅ reactive 的实现
✅ ref 的实现
✅ readonly 的实现
✅ effect 的实现
✅ track 依赖收集
✅ trigger 触发依赖
✅ 支持 effect.scheduler
✅ 支持 effect.stop
✅ 支持 isReactive
✅ 支持嵌套 reactive
✅ 支持 isProxy
✅ 支持 isReadonly
✅ 支持 shallowReadonly
✅ 支持 isRef
✅ 支持 unRef
✅ 支持 proxyRefs
✅ computed 的实现
✅ 支持组件类型
✅ 支持 element 类型
✅ 初始化 props
✅ setup 可获取 props 和 context
✅ 支持 component emit
✅ 支持 proxy
✅ 可以在 render 函数中获取 setup 返回的对象
✅ nextTick 的实现
✅ 支持 getCurrentInstance
✅ 支持 provide/inject
✅ 支持最基础的 slots
✅ 支持 Text 类型节点
✅ 支持 $el api
✅ 支持 custom renderer
⬜ 解析插值
⬜ 解析 element
⬜ 解析 text
⬜ 组件代理对象/$el 抽离优化
⬜ custom renderer 示例:canvas 平台
⬜ patchChildren() 转换成 text 的优化