4.源码分析
leezozz 2/13/2023 vue
# vue2.6
# 目录机构
|-dist 打包之后的文件 |-examples 示例 |-flow JavaScript的静态类型检查器 src |-compiler 编译相关(把模板转换成render函数,render函数会创建虚拟DOM) |-core vue核心库(和平台无关) |---components 定义了vue中自带的keep-alive组件 |---global-api 静态方法(component、filter、extend、mixin、use) |---instance 创建vue实例的位置。定义的vue的构造函数、初始化、生命周期等相应函数 |---observer 响应式机制实现的位置 |---util 公共成员 |---vdom 虚拟DOM。vue中的虚拟dom重写了snabbdom,增加了组件的机制 |-platforms 平台相关代码 |---web 基于web端开发的框架 |---weex 基于移动端开发的框架 |-server SSR. 服务端渲染 |-sfc .vue文件(单文件组件)编译为js对象 |-shared 公共的代码
compiler:编译器。把我们的模板转换成render函数,render函数会帮我们创建虚拟DOM
# 了解Flow
- JavaScript的静态类型检查器
- Flow的静态类性检查错误是通过静态类型推断实现的
- 文件开头通过 // @flow 或者 /* @flow */ 声明 Flow和TypeScript都是静态类型检查器,TypeScript功能更强大