走render<br>src\core\instance\render.js<br>vnode = render.call(vm._renderProxy, vm.$createElement)<br>
组件vnode创建<br>src\core\vdom\create-element.js<br><br>
判断 string<br>
判断是否是原生标签<br>config.isReservedTag(tag)<br>是 返回vnode<br>
如果是 自定义组件<br>执行createComponent()<br><br>
src\core\vdom\create-component.js<br>创建自定义组件 挂载 安装组件钩子,准备着<br>
src\core\vdom\patch.js<br>createElm()<br>将vdom转化为dom
判断是否是自定义组件<br>是 return
原始标签 递归直接创建<br>会走到createElement()这个方法
执行前面准备的 做实例化和挂载<br>if (isDef(i = i.hook) && isDef(i = i.init)) {<br> i(vnode, false /* hydrating */)<br> }<br>设置属性 追加到根组件
其他 返回VNode<br>
其他<br>vnode = createComponent(tag, data, context, children)<br>