vue底层源码

63 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 22 天,点击查看活动详情

vue底层源码

  1. init
  • 合并配置,初始化生命周期、事件、props、methods、data、computed、watch等。
  1. compile
  • ast
  • -编译首先通过prase方法,将template模板中的字符串通过正则将其解析,得到指令、class、style等数据。
  • optimize
    • 优化抽象语法树,将生成的ast文件标记静态根节点和静态节点,下次更新遇到这种标记,直接跳过,不进行更新。
  • gencode
    • 将抽象语法树生成代码,符合jsx语法规范,下次执行可以通过createElement生成虚拟dom,为组件的派发做准备。
  1. render
  • 创建html模板,简化代码。
  1. vnode
  • 虚拟node节点,是具体平台元素对象进一步抽象,每一个平台元素对应一个vnode。
  1. patch
  • 渲染器将多个虚拟dom树进行遍历比较,找出区别并应用其中的变化到真实dom中的过程称为patch,即更新。
  1. dom

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 22 天,点击查看活动详情