Skip to content

Latest commit

 

History

History
70 lines (51 loc) · 1.38 KB

README.zh-CN.md

File metadata and controls

70 lines (51 loc) · 1.38 KB

tiny vue3


English | 中文


概述

基于 TDD 实现 vue3 模型简易版本,用于深入学习 vue3,理清 vue3 的核心逻辑

note 目录下为学习笔记,用于加深各个环节的重点印象

功能实现

reactivity

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

runtime-core

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

compiler-core

  • 解析插值
  • 解析 element
  • 解析 text

runtime-dom

  • 支持 custom renderer

monorepo & vitest

  • pnpm monorepo 改造
  • vitest 替换 jest

License

本项目基于 MIT licensed.