开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 22 天,点击查看活动详情
vue底层源码
- init
- 合并配置,初始化生命周期、事件、props、methods、data、computed、watch等。
- compile
- ast
- -编译首先通过prase方法,将template模板中的字符串通过正则将其解析,得到指令、class、style等数据。
- optimize
-
- 优化抽象语法树,将生成的ast文件标记静态根节点和静态节点,下次更新遇到这种标记,直接跳过,不进行更新。
- gencode
-
- 将抽象语法树生成代码,符合jsx语法规范,下次执行可以通过createElement生成虚拟dom,为组件的派发做准备。
- render
- 创建html模板,简化代码。
- vnode
- 虚拟node节点,是具体平台元素对象进一步抽象,每一个平台元素对应一个vnode。
- patch
- 渲染器将多个虚拟dom树进行遍历比较,找出区别并应用其中的变化到真实dom中的过程称为patch,即更新。
- dom
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 22 天,点击查看活动详情