关注“
前端学苑 ” ,坚持每天进步一点点
「~AST解析流程~」
现在谈到 babel 肯定大家都不会感觉到陌生,虽然日常开发中很少会直接接触到它,但它已然成为了前端开发中不可或缺的工具,不仅可以让开发者可以立即使用 ES 规范中的最新特性,也大大的提高了前端新技术的普及(学不动了...)。但是对于其转换代码的内部原理我们大多数人却知之甚少,所以带着好奇与疑问,尝试对其原理进行探索。
一、AST 定义
抽象语法树 (Abstract Syntax Tree),简称 AST,它是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
二、AST 作用
聊到AST的用途,其应用非常广泛,下面我简单罗列了一些:
1) 编辑器的错误提示、代码格式化、代码高亮、代码自动补全等。
2) elint、JSLint、pretiier 对代码错误或风格的检查等。
3) webpack、rollup进行代码打包等。
4) CoffeeScript、TypeSc