Vue模板编译

本文详细介绍了模板编译的三个核心步骤:解析AST、优化和代码生成。通过这三个模块,实现了将模板转化为渲染函数的过程。在模板选择上,当存在el、template和render时,优先级为render>template (字符串)>el的outerHTML。理解这一流程对于前端开发者优化性能至关重要。
摘要由CSDN通过智能技术生成

1、原理

模板编译分三部分:

  • 将模板解析为AST
  • 遍历AST标记静态节点
  • 使用AST生成渲染函数

三部分内容在模板编译中分别抽象出三个模块来实现各自的功能,分别是

  • 解析器
  • 优化器
  • 代码生成器

模板编译的整体流程为:

2、模板选择

有el, template, render情况下

 当有el属性,直接获取el作为根节点

  • template为字符串时,模板直接使用
  • template不是字符串,有nodeType属性,使用template的innerHTML作为模板
  • 没有template属性时,模板使用el的outerHTML

 当有template和render时,优先使用render。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kgduu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值