初始化流程

initGlobalAPI处理流程

主要是挂载一些全局方法

  • 响应数据相关的Vue.set, Vue.delete, Vue.nextTick以及Vue.observable
  • 插件相关的Vue.use
  • 对象合并相关Vue.mixin
  • 类继承相关的Vue.extend
  • 资源相关,如组件,过滤器,自定义指令Vue.component, Vue.filter, Vue.directive
  • 配置相关Vue.config以及Vue.options中的components,filters,directives

定义属性config

给Vue对象添加config属性,其中config是在src/core/config.ts文件中导出的

const configDef: Record<string, any> = {}
configDef.get = () => config
Object.defineProperty(Vue, 'config', configDef)

挂载util

主要是将src/core/util下的一些方法放到Vue的util属性中

import {
  warn,
  extend,
  nextTick,
  mergeOptions,
  defineReactive
} from '../util/index'

 Vue.util = {
    warn,
    extend,
    mergeOptions,
    defineReactive
  }
04-18 18:47