src/core/instance/index.js

initMixin 注册_init 方法

initLifecycle(vm)
initEvents(vm)
initRender(vm)
callHook(vm, 'beforeCreate')
initInjections(vm) // resolve injections before data/props
initState(vm)
initProvide(vm) // resolve provide after data/props
callHook(vm, 'created')

挂载
vm.$mount(vm.$options.el)

mounted 里如何访问 data 里的数据
initState() -> initData()
data 也会赋值给 _data

proxy((target: Object), (sourceKey: string), (key: string)) {}

//initData方法里调 proxy()
initData(vm: Component) {
  data = vm._data = typeof data === 'function'
    ? getData(data, vm)
    : data || {}

  const keys = Object.keys(data)
  // ...
  proxy(vm, `_data`, key)

  // 数据响应式处理
  observe(data ,true)
}

vue初始化就干了这几件事 合并配置、初始化生命周期、初始化事件中心、初始化渲染、初始化data、props、computed、watcher等等