Vue源码解析:模版字符串转AST语法树

通过对 Vue2.0 源码阅读,想写一写自己的理解,能力有限故从尤大佬2016.4.11第一次提交开始读,准备陆续写:

  • 模版字符串转AST语法树
  • AST语法树转render函数
  • Vue双向绑定原理
  • Vue虚拟dom比较原理

其中包含自己的理解和源码的分析,尽量通俗易懂!由于是2.0的最早提交,所以和最新版本有很多差异、bug,后续将陆续补充,敬请谅解!包含中文注释的Vue源码已上传...

问题

  1. 什么是AST?
    AST(abstract syntax tree)意为抽象语法树,其实就是树形数据结构的表现形式,有父节点、子节点、兄弟节点等概念...
  2. 本身就是树形结构的HTML为什么还要转化?
    因为真实DOM含不需要的属性太多了,如果筛选出我们需要的属性,再对其进行操作,将大大优化性能!
  3. AST和虚拟节点vnode有什么关系?
    它们结构很相似,AST其实算得上是vnode的前身,AST经过一系列的指令解析、数据渲染就会变成vnode!这边的AST其实只是简单的html解析。

开始

举个

相关推荐