一. template 模板是怎样通过 Compile 编译的
Vue.js通过编译将template 模板转换成渲染函数(render ) ,执行渲染函数就可以得到一个虚拟节点树
所以这个问题是在问怎么生成render函数
-
compile可以分成三个阶段
-
parse
会用正则等方式将 template 模板中进行字符串解析,得到指令、class、style等数据,形成 AST(在计算机科学中,抽象语法树(abstract syntax tree或者缩写为AST) - optimize 优化标记静态的(不需要修改的DOM)节点。
diff
算法更新时,会跳过静态节点,减少比较的过程,优化patch
的性能 - generate 将AST生成render函数
-