# Vue2 **Repository Path**: beichen997/vue2 ## Basic Information - **Project Name**: Vue2 - **Description**: vue2.0源码解析 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-13 - **Last Updated**: 2025-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Vue2 #### 介绍 vue2.0源码解析 #### 软件架构 软件架构说明 #### 源码学习目录 ├─dist # 项目构建后的文件 ├─scripts # 与项目构建相关的脚本和配置文件 ├─flow # flow的类型声明文件 ├─src # 项目源代码 │ ├─complier # 与模板编译相关的代码 │ ├─core # 通用的、与运行平台无关的运行时代码 │ │ ├─observe # 实现变化侦测的代码 │ │ ├─vdom # 实现virtual dom的代码 │ │ ├─instance # Vue.js实例的构造函数和原型方法 │ │ ├─global-api # 全局api的代码 │ │ └─components # 内置组件的代码 │ ├─server # 与服务端渲染相关的代码 │ ├─platforms # 特定运行平台的代码,如weex │ ├─sfc # 单文件组件的解析代码 │ └─shared # 项目公用的工具代码 └─test # 项目测试代码 #### 使用说明 从上面的目录结构可以看出,Vue的整个项目包含了类型检测相关、单元测试相关、与平台无关的核心代码以及跨平台运行的相关代码。 由于我们只是学习Vue.js的设计思想以及代码实现的相关逻辑,所以我们暂不去关心类型检测、单元测试以及特定平台运行等相关逻辑实现,仅关注它的核心代码,即src/core和src/complier这两个目录下的代码,并且接下来后续的学习也都是只在这两个目录的范围之内。 #### 学习路线 在学习之前,我们需要先制定一个学习路线,循序渐进的学习,这样不至于一头雾水,无处下手。后面的学习路线如下: 1. 变化侦测篇 学习Vue中如何实现数据的响应式系统,从而达到数据驱动视图。 2. 虚拟 DOM 篇 学习什么是虚拟 DOM,以及Vue中的DOM-Diff原理 3. 模板编译篇 学习Vue内部是怎么把template模板编译成虚拟DOM,从而渲染出真实DOM 4. 实例方法篇 学习Vue中所有实例方法(即所有以$开头的方法)的实现原理 5. 全局 API 篇 学习Vue中所有全局API的实现原理 6. 生命周期篇 学习Vue中组件的生命周期实现原理 7. 指令篇 学习Vue中所有指令的实现原理 8. 过滤器篇 学习Vue中所有过滤器的实现原理 9. 内置组件篇 学习Vue中内置组件的实现原理