跳到主要内容

1 篇博文 含有标签「babel」

查看所有标签

· 阅读需 15 分钟
Auver

本文旨在通过提取官方文档的关键内容,略去一些知识,快速了解插件的基本编写方式,方便你在较低学习成本下写出插件。

基础

Babel 是 JavaScript 编译器,更确切地说是源码到源码的编译器,通常也叫做“转换编译器(transpiler)”。 意思是说你为 Babel 提供一些 JavaScript 代码,Babel 更改这些代码,然后返回给你新生成的代码。

抽象语法树(ASTs)

这个处理过程中的每一步都涉及到创建或是操作抽象语法树,亦称 AST。

Babel 使用一个基于 ESTree 并修改过的 AST,它的内核说明文档可以在[这里](https://github. com/babel/babel/blob/master/doc/ast/spec. md)找到。.

function square(n) {
return n * n;
}

这个程序可以被表示成如下的一棵树: