当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

mini-vue

最简 Vue3 模型
授权协议 MIT
开发语言 JavaScript TypeScript HTML/CSS
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 索和璧
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

mini-vue 实现了一个最简化的 vue3 模型,可用于深入学习 vue3, 更轻松地理解 vue3 的核心逻辑。

vue3 这种工业级别的库,源码中很多逻辑是用于处理边缘情况或者是兼容处理逻辑,不利于初学者学习源码。而 mini-vue 库把 vue3 源码中最核心的逻辑剥离出来,只留下核心逻辑,可帮助开发者更好地理解 Vue3 的核心逻辑。

实现过程

mini-vue 基于 vue3 的功能点,一点一点地拆分出来。代码命名保持和源码中的一致,方便大家通过命名去源码中查找逻辑。

Tasking

runtime-core

  • 支持组件类型
  • 支持 element 类型
  • 初始化 props
  • setup 可获取 props 和 context
  • 支持 component emit
  • 支持 proxy
  • 可以在 render 函数中获取 setup 返回的对象
  • nextTick 的实现
  • 支持 getCurrentInstance
  • 支持 provide/inject
  • 支持最基础的 slots
  • 支持 Text 类型节点
  • 支持 $el api

reactivity

目标是用自己的 reactivity 支持现有的 demo 运行

  • 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

初始化

流程图

  • 总的来说实现 mini-vue 需要实现以下几个部分。 渲染部分 创建 VNode 函数 首先需要搞清楚 VNode 是什么。VNode 的 全称叫 Virtual Node,顾名思义,指的是虚拟 Node(DOM)。在 JavaScript 中,VNode 实际就是一个 JS 对象。这个对象通过 mount 函数转换成真实 DOM,挂载在 DOM 树中。 分析 VNode 需要的属性 VNode

 相关资料
  • Dolphin Mini——全功能轻量级的Android设备浏览器,现在已经可以在Android市场(Android Market)免费下载了。除了容易找到并安装,这个小程序还有很多的新特性。新增的扩展有设置的备份与还原,书签标签以及地址栏的按住不放选项(保存到 书签,分享,保存当前网页或者复制/粘贴一个URL)。Dolphin Mini还在工具箱增加了临时文件清理图标。 支持的Flash Pla

  • Mini-XML 是一个小型的XML解析器,采用 C 语言开发。该解析器最大的特点就是小型、无须依赖其他类库,只需要 GCC 编译器 和 make 程序即可编译,支持 UTF-8/UTF-16 编码。 要使用 Mini-XML 只需要引入 #include <mxml.h> 编译方法:gcc -o myprogram myprogram.c -lmxml 示例代码: FILE *fp; mxml_

  • XX-Mini 软件说明 源码取自 XX-Net 项目,精简 web UI、php_proxy 以及 x_tunnel 等功能,只保留 gae_proxy 以及自动扫描IP功能。 用户数据保存到 data 目录,运行软件后会自动生成,支持 manual.ini 配置文件,自定义IP段 ip_range.txt。 代码为 Linux 版本,欢迎提交 commit,提交代码后一段时间内会同步到 Win

  • PandaBoard Mini 是西安小风车电子推出的开源硬件平台,它采用 TIOMAP4460 做为主处理器,是 OMAP4 开发板 PandaboardES 的增强版本。它在硬件上与 PandaboardES 是兼容的,并且做了扩充,比如增加了 8G emmc, 3G miniPCIE 接口,摄像头接口增加到了 2 路,但价格却比 PandaboardES 低得多。 选择开源硬件平台,一个重要

  • 流行框架与库的源码分析与最简实现 大家好,我是山月,这是我新开的一个坑:手写源码最小实现,每一行代码都有注释。 当我们在深入学习一个框架或者库时,为了了解它的思想及设计思路,也为了更好地使用和避免无意的 Bug,源码研究是最好的方法。 对于 koa 与 vdom 这种极为简单,而应用却很广泛的框架/库,莫不如是。为了验证是否已足够了解它,可以实现一个仅具备核心功能的迷你的库。正所谓,麻雀虽小,五脏

  • mini calendar 是 Chrome 浏览器的一个小型日历扩展,就是把原本的谷歌嵌入版日历添加到了工具栏。功能是自动加载用户的所有日历,包括私有和公共。平时用来看看行程和节假日还 是不错滴。