# ldx-vue3 **Repository Path**: ldx18015816566/ldx-vue3 ## Basic Information - **Project Name**: ldx-vue3 - **Description**: vue3源码实现,彻底清楚vue3底层原理 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2021-03-16 - **Last Updated**: 2021-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ldx-vue3 ## Vue3项目结构 - reactivity:响应式系统 - runtime-core:与平台无关的运行时核心 (可以创建针对特定平台的运行时 - 自定义渲染器) - runtime-dom: 针对浏览器的运行时。包括DOM API,属性,事件处理等 - runtime-test:用于测试 - server-renderer:用于服务器端渲染 - compiler-core:与平台无关的编译器核心 - compiler-dom: 针对浏览器的编译模块 - compiler-ssr: 针对服务端渲染的编译模块 - compiler-sfc: 针对单文件解析 - size-check:用来测试代码体积 - template-explorer:用于调试编译器输出的开发工具 - shared:多个包之间共享的内容 - vue:完整版本,包括运行时和编译器 ## 安装依赖 - typescript 支持typescript - rollup 打包工具 - rollup-plugin-typescript2 rollup 和 ts的 桥梁 - @rollup/plugin-node-resolve 解析node第三方模块 - @rollup/plugin-json 支持引入json - execa 开启子进程方便执行命令 ``` npm install typescript rollup rollup-plugin-typescript2 @rollup/plugin-node-resolve @rollup/plugin-json execa -D ``` ### 分支管理 - ldx/1.0 实现打包流程 - ldx/2.0 reactiveApi实现 - ldx/2.1 依赖收集的实现 - ldx/2.2 触发更新 - ldx/2.3 ref和toRef的实现 - ldx/2.4- computed的实现 - ldx/3.0 runtime-dom,节点操作和属性操作 - ldx/3.1 组件渲染流程 - ldx/3.2 组件更新流程 - ldx/3.3 diff算法 - ldx/3.4 diff算法:最长递增子序列 - ldx/4.0 生命周期 - ldx/5.0 template编译