创建vue实例 new Vue()
做一些初始化的操作,设置一些私有变量到实例中
运行钩子beforeCreate
进入注入流程,处理属性,computed,data,methods,provide,inject,最后使用代理模式将他们挂载到实例中
运行钩子created
生成render函数,如果有配置,直接使用配置的render,如果没有,使用运行时编译,把模版编译成为render
运行钩子beforeMount
*创建一个watcher,传入一个函数updateComponent,该函数会运行render,把得到的vnode传入_update函数执行 ,在执行render函数的过程中,收集所有的依赖,等依赖变化时重新运行updateComponent函数
*在执行_update函数的过程中,触发patch函数,由于目前没有旧数,会直接为当前的虚拟dom树的每个普通节点生成elm属性,即真实dom
*如果遇到创建一个组件的vnode,则会进入组件实例化流程,流程和创建vue实例流程基本相同,最终把创建好的组件实例挂载到vnode的componentInstance属性中,以便复用