[Vue源码解析] 解析器
解析器类型:HTML解析器、文本解析器、注释解析器
原理:将模版字符串按照一定的条件循环进行切割,对切割下来的内容进行类型判断,在生产对应类型的AST节点插入到父节点上,直到切割完毕最终生成一颗AST树。
逻辑概览:
/**
* 整体逻辑
*/
export function parseHTML (html, options) {
while (html) {
if (!lastTag || !isPlainTextElement(lastTag)) {
let textEnd = html.indexOf('<')
if (textEnd === 0) {
//注释
if (Comment.test(html)) {
//注释的处理逻辑
continue
}
//条件注释
if (conditionalComment.test(html