- 基于 rollup 打包,仿照 Vue2 源码实现的一款简易 JavaScript 框架
- 实现了 Vue 的数据劫持、响应式、diff等核心原理以及 watch、computed、$nextTick 、Vue.component 等部分 API
- 简化了 Vue2 冗杂难懂的源码,以最简单的方式实现最核心的功能,注释丰富,文档齐全,适合新手学习
- 个人开发,水平有限,本项目仅限学习使用,并不具备实际应用价值
- main:主分支
- dev:开发测试分支
-
🌶️更多项目参见个人主页
依赖 | 版本 |
---|---|
node.js | 16.14.0 |
rollup | 2.79.1 |
mini-Vue2 -- https://github.com/Nwu23787/mini-Vue2
mini-Vue2
├── demo -- 测试用例文件夹
├── node_modules -- 依赖包文件夹
├── dist -- 打包出口
└── src -- 主模块
├── compiler -- 模版编译模块
├── index.js -- 模版编译
└── parse.js -- 模版解析
├── observe -- 响应式模块
├── array.js -- 处理数组响应式
├── dep.js -- dep 类及其相关操作
├── index.js -- 数据劫持和监听
└── watcher.js -- watcher 类及其相关操作
├── vdom -- 虚拟 DOM 模块
├── index.js -- 创建 vnode
└── patch.js -- diff 及 pitch 算法
├── globalAPI.js -- 全局 API
├── init.js -- Vue 初始化
├── lifecycle.js -- 生命周期相关
├── state.js -- 数据劫持相关
├── utils.js -- 工具文件
└── index.js -- 主文件
-
clone 项目到本地
-
安装项目依赖:
yarn install
或
npm install
-
启动项目:
yarn dev
或
npm run dev
-
在 HTML文件中引入 dist 文件夹下的 vue.js 即可开始使用
mini-Vue2 开源项目遵循MIT License。 允许个人使用、商业使用、复制、分发、修改,但务必保留作者、Copyright 信息。