Skip to content

Vixcity/small-vue

Repository files navigation

small-vue

根据 Vue 以及B站阿崔cxr的 mini-vue 复刻出来的一个小型的玩具vue框架,以助于自己了解 Vue 原理

大家喜欢的可以来个 Star 关注一下,以后会有更多内容分享

目前进度

  • reactivity 的核心流程

  • runtime-core 初始化的核心流程

  • runtime-core 更新的核心流程

  • setup环境-集成jest做单元测试-集成 ts

  • 实现 effect & reactive & 依赖收集 & 触发依赖

  • 实现 effect 返回 runner

  • 实现 effect 的scheduler 功能

  • 实现 effect 的 stop 功能

  • 实现 readonly 功能

  • 实现 isReactive 和 isReadonly

  • 优化 stop 功能

  • 实现 reactive 和 readonly 嵌套对象转换功能

  • 实现 shallowReadonly 功能

  • 实现 isProxy 功能

  • 实现 ref 功能

  • 实现 isRef 和 unRef 功能

  • 实现 proxyRefs 功能

  • 实现 computed 计算属性功能

  • 实现初始化 component 主流程

  • 使用 rollup 打包库

  • 实现初始化 element 主流程

  • 实现组件代理对象

  • 实现 shapeFlags

  • 实现注册事件功能

  • 实现组件 props 功能

  • 实现组件 emit 功能

  • 实现组件 slots 功能

  • 实现 Fragment 和 Text 类型节点

  • 实现 getCurrentInstance

  • 实现依赖注入功能(provide/inject)

  • 实现自定义渲染器 custom renderer

  • 更新element流程搭建

  • 更新element 的 props

  • 更新 element 的 children array to text

  • 更新 element 的 children text to text

  • 更新 element 的 children text to array

  • 更新 element 的 children - 双端对比diff 算法(1)

  • 自动提交代码命令实现(Vue开发时的提交流程简化,命令如下)

yarn release

待完成

  • 更新 element 的 children - 双端对比diff 算法 (2)
  • 更新 element 的 children - 双端对比diff 算法 (3)
  • 学习尤大解决 bug 的处理方式
  • 实现组件更新功能
  • 实现 nextTick 功能
  • 编译模块概述
  • 实现解析插值功能
  • 实现解析element 标签

如果对我感兴趣的话,你也可以在以下渠道了解一下我

Gitee:Gitee

博客:Blog

Github:Github