从零到一实现 mini-vue3。
- 支持 jest 环境搭建
- 支持 effect & reactive 依赖搜集 & 依赖触发
- 支持 effect.runner
- 支持 effect.scheduler
- 支持 effect.stop
- 支持 eadonly
- 支持 isReactive、isReadonly
- 支持嵌套 reactive
- 支持 shallowReadonly
- 支持 isProxy
- 支持 toRaw
- 支持 ref
- 支持 isRef、unRef
- 支持 proxyRefs
- 支持 computed 计算属性
- 初始化 Component
- 支持 rollup 打包
- 初始化 element 主流程
- 支持 组件代理对象
- 支持 shapeFlags
- 支持 注册事件功能
- 实现 组件 props 逻辑
- 实现 组件 emit 功能
- 支持 slots 功能
- 支持 Fragment 和 Text 类型节点
- 支持 getCurrentInstance
- 支持 provide/inject
- 自定义渲染器(createReader) custom renderer
- 更新 element 流程搭建
- 更新 element props
- 更新 element children
- 实现 双端对比 diff 算法
- 实现 组件更新
- 支持 nextTick
- 实现 解析插值功能
- 实现 解析 element 标签
- 实现 解析 text 功能
- 实现 解析三种联合类型
- 实现 parse&有限状态机
- 实现 transform
- 实现 代码生成 string 类型
- 实现 代码生成插值类型 cmproj
- 实现 代码生成三种联合类型
- 实现 编译 template 成 render 函数
yarn build
// 测试可以使用
yarn build --watch
打开 example 中文件以 server 形式运行 index.html