1.0.14 • Published 5 months ago

small-vue v1.0.14

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

small-vue

我们知道 vue 的源码非常庞大复杂,即使我们只学习其中部分核心包,其代码量依然惊人。因为这其中不仅有一些高级功能的实现,还有很多边缘情况的处理。这使我们阅读源码、理解源码变成一个很困难的过程,很容易被劝退。

因此我手写了一个简版的 vue3 源码:small-vue,只实现核心包中的核心逻辑,使代码尽量简单易理解。同时 small-vue 中的文件名、方法名都尽量与 vue3 源码中保持一致,有利于相互对照理解。

1. 实现功能

  • reactivity
    • 支持 reactive,ref,computed 等响应式对象
    • 支持 effect 函数监听响应式操作
    • 基于 Jest 进行单元测试
  • runtime-core
    • 支持元素类型、组件类型、虚拟类型、文本类型等多种虚拟节点
    • 支持虚拟节点解析,初始化,更新等流程
    • 支持双端 Diff 算法
    • 支持 nextTick,queueJobs 等异步操作
    • 支持 props、emit、provide、inject 等功能
    • 支持插槽 Slots
    • 支持 createRenderer,createApp 等入口函数
  • runtime-dom
    • 支持 Dom 渲染器
  • compiler-core
    • 支持 parse 操作,将 template 字符串转换成抽象语法树 AST
    • 支持 transform 操作,遍历 AST 进行某些转换处理
    • 支持 codegen 操作,将 AST 转成成 render 函数
  • vue
    • 合并编译时和运行时,作为程序主入口
    • 编写 examples 测试整个程序
1.0.14

5 months ago

1.0.9

5 months ago

1.0.8

5 months ago

1.0.7

5 months ago

1.0.6

5 months ago

1.0.11

5 months ago

1.0.10

5 months ago

1.0.13

5 months ago

1.0.12

5 months ago

1.0.5

5 months ago

1.0.3

5 months ago

1.0.1

6 months ago