项目简介
本项目实现了最简 vue3 模型,主要目的是帮助开发者深入学习 vue3。它把 vue3 源码里最核心的逻辑提取出来,去掉了处理边缘情况和兼容处理的逻辑,使开发者能更轻松理解 vue3 的核心逻辑。
项目的主要特性和功能
runtime-core
支持组件类型、element 类型,可初始化 props,setup 能获取 props 和 context,支持 component emit、proxy,可在 render 函数中获取 setup 返回的对象,实现了 nextTick、getCurrentInstance、provide/inject,支持最基础的 slots、Text 类型节点、$el api 以及 watchEffect。
reactivity
实现了 reactive、ref、readonly、computed,具备 track 依赖收集和 trigger 触发依赖功能,支持 isReactive、嵌套 reactive、toRaw、effect.scheduler、effect.stop、isReadonly、isProxy、shallowReadonly 和 proxyRefs。
compiler-core
可解析插值、element 和 text。
runtime-dom
支持 custom renderer。
runtime-test
支持测试 runtime-core 的逻辑。
infrastructure
支持使用 pnpm 的 monorepo。
安装使用步骤
- 确保你已经下载了本项目的源码文件。
- 构建项目:在项目根目录下,打开终端并执行
pnpm build
命令。 - 运行示例:通过 server 的方式打开
packages/vue/example/*
下的index.html
文件。推荐使用 Live Server 来打开。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】