# Vue源码结构

       ├─  build  打包相关的配置文件,其中最重要的是config.js.主要是根据不同的入口,打包为不同的文件.
       │
       ├─  dist 打包之后文件所在位置
       │
       ├─  examples 部分示例
       │   
       ├─  flow 因为Vue使用了[Flow](https://flow.org/)来进行静态类型检查,这里定义了声明了一些静态类型
       │   
       ├─  packages vue还可以分别生成其它的npm包
       │
       ├─  src 主要源码所在位置
       │   |
       |   ├─ compiler 模板解析的相关文件
       |   |   |
       |   |   ├─codegen 根据ast生成render函数
       |   |   |
       |   |   ├─directives 通用生成render函数之前需要处理的指令
       |   |   |
       |   |   └─parser 模板解析
       |   |
       |   ├─  core 核心代码
       |   |    |
       |   |    ├─ components 全局的组件,这里只有keep-alive
       |   |    |
       |   |    ├─ global-api 全局方法,也就是添加在Vue对象上的方法,比如Vue.use,Vue.extend,Vue.mixin等
       |   |    |
       |   |    ├─ instance 实例相关内容,包括实例方法,生命周期,事件等
       |   |    |
       |   |    ├─ observer 双向数据绑定相关文件
       |   |    |
       |   |    ├─ util 工具方法
       |   |    |
       |   |    └─vdom 虚拟dom相关
       |   |
       |   ├─ entries 入口文件,也就是build文件夹下config.js中配置的入口文件.看源码可以从这里看起
       |   |
       |   ├─ platforms 平台相关的内容
       |   |    |
       |   |    ├─web web端独有文件
       |   |    |   |
       |   |    |   ├─ compiler 编译阶段需要处理的指令和模块
       |   |    |   |
       |   |    |   ├─ runtime 运行阶段需要处理的组件、指令和模块
       |   |    |   |
       |   |    |   ├─ server 服务端渲染相关
       |   |    |   |
       |   |    |   └─ util 工具库
       |   |    |
       |   |    └─ weex weex端独有文件
       |   |        |
       |   |        ├─ compiler 编译阶段需要处理的指令和模块
       |   |        |
       |   |        ├─ runtime 运行阶段需要处理的组件、指令和模块
       |   |        |
       |   |        ├─ server 服务端渲染相关
       |   |        |
       |   |        └─ util 工具库
       |   |         
       |   ├─ server 服务端渲染相关
       |   |
       |   ├─ sfc
       |   |   |
       |   |   └─parser.js 包含了单文件 Vue 组件 (*.vue) 的解析逻辑.在 vue-template-compiler 包中被使用.
       |   |
       |   └─  shared 共享的工具方法
       |   
       └─ test 测试用例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
最后更新时间: 6/14/2019, 7:37:55 AM