littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于 Vue.js 框架的 minivue 学习项目

项目简介

本项目实现了最简 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。

安装使用步骤

  1. 确保你已经下载了本项目的源码文件。
  2. 构建项目:在项目根目录下,打开终端并执行 pnpm build 命令。
  3. 运行示例:通过 server 的方式打开 packages/vue/example/* 下的 index.html 文件。推荐使用 Live Server 来打开。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】