Vue 初始化的过程
四个导出 Vue 的模块
-
src/platforms/web/entry-runtime-with-compiler.js
- web 平台相关的入口
- 重写了平台相关的 $mount() 方法
- 注册了 Vue.compile() 方法,传递一个 HTML 字符串返回 render 函数
-
src/platforms/web/runtime/index.js
- web 平台相关
- 注册和平台相关的全局指令:v-model、v-show
- 注册和平台相关的全局组件:v-transition、v-transition-group
- 全局方法
- _patch_: 把虚拟 DOM 转换成真实 DOM
- $mount: 挂载方法
-
src/core/index.js
- 与平台无关
- 设置了 Vue 的静态方法,initGlobalAPI(Vue)
-
src/core/instance/index.js
- 与平台无关
- 定义了构造函数,调用了 this.__init(options) 方法
- 给 Vue 中混入了常用的实例成员
静态成员
Vue 的大部分静态成员是通过在 core/index.js 中调用 initGlobalAPI 这个方法注册的。
定义了 Vue.config Vue.set Vue.delete Vue.nextTick Vue.observable Vue.options keep-alive Vue.use Vue.mixin Vue.extend Vue.directive Vue.component Vue.filter