核心包(Packages)
1、@babel/core
2、@babel/parser
3、@babel/traverse
4、@babel/generator
@babel/core 是Babel编译器本身;它暴露了其中的babel.transform方法:
transformedCode = transform(src).code
编译器可分为三部分:
解析器: @babel/parser
代码转换(transformer[s]):通过插件/预设,这些都是使用@babel/traverse遍历AST
生成器: @babel/generator
流程如下:
输入字符串(高级语法代码)->经过@babel/parser解析器-> 生成AST->通过插件/预设代码转换(transformer[s])-> 改成新的AST-> @babel/generator(生成低级语法代码) ->输出字符串