new Vue 就是执行了 Vue 的初始化
vue的本质:实际上就是function实现的类;
总结:
- 用户传入的配置和系统配置的合并
- 初始化相关属性:$parent、$children、$root、$refs、_watcher、_isMounted等
- 初始化事件中心,例:@定义事件
- 解析插槽,定义vm._c处理template默认,定义vm.$createElement处理手写render模式
- 挂载beforeCreate生命周期
- 初始化组件的inject注入配置项
- 构建响应式系统(props、methods、data、computed、watch)
- 解析组件配置项上的provide对象
- 挂载create生命周期
- 最后调用$mount进行页面挂载