/mini-vue3

mini-vue ,实现Vue3核心逻辑。两个分支 main 为主分支,dev 为学习分支。

Primary LanguageJavaScript

mini-vue3

实现 Vue3 核心逻辑的最简模型,本项目参考 Vue3mini-vue地址 实现。

Tasking

  • 响应式核心模块
  • 运行时

reactivity

  • reactive 的实现
  • ref 的实现
  • readonly 的实现
  • computed 的实现
  • track 依赖收集
  • trigger 触发依赖
  • 支持 isReactive
  • 支持嵌套 reactive
  • 支持 toRaw
  • 支持 effect.scheduler
  • 支持 effect.stop
  • 支持 isReadonly
  • 支持 isProxy
  • 支持 shallowReadonly
  • 支持 proxyRefs

runtime-core

  • 支持组件类型
  • 支持 element 类型
  • 初始化 props
  • setup 可获取 props 和 context
  • 支持 component emit
  • 支持 proxy
  • 可以在 render 函数中获取 setup 返回的对象
  • nextTick 的实现
  • 支持 getCurrentInstance
  • 支持 provide/inject
  • 支持最基础的 slots
  • 支持 Text 类型节点
  • 支持 $el api
  • watch、watchEffect 的实现

runtime-dom

  • 支持 custom renderer

vue

  • compileToFunction 函数

Ending

感谢 mini-vue 作者让我的源码阅读入门,学习 mini-vue 的过程中学到了很多得底层基础知识,学习过程记录在 dev 分支的 readme 有兴趣的同学可以看一下哦!