从表现上来看,组件的模板决定了组件生成的 DOM 标签,而在 Vue.js 内部,一个组件想要真正的渲染生成 DOM,还需要经历“创建 vnode - 渲染 vnode - 生成 DOM” 这几个步骤:
image.png

  • 应用程序初始化
    • 创建 app 对象
    • 重写 app.mount 方法
  • 核心渲染流程
    • 创建 vnode
    • 渲染 vnode

image.png

vnode 的优点?

  • 抽象
  • 跨平台

patch vnode 的过程在不同的平台可以有自己的实现,基于 vnode 再做服务端渲染,weex 平台,小程序平台的渲染都变得容易了很多