Babel
Babel 的原理
Babel 可以将代码转译为想要的目标代码,并且对目标环境不支持的 API,自动 polyfill
流程:
- 解析 (parse):根据代码生成对应的 AST 结构。进行代码分割,将代码分割成 token 流 (语法单元数组),再根据 token 流生成对应的 AST
- 转换 (transform):遍历 AST 节点并生成新的 AST 节点
- 生成 (generator):根据新的 AST 生成新的目标代码
Babel 可以将代码转译为想要的目标代码,并且对目标环境不支持的 API,自动 polyfill
流程:
- 解析 (parse):根据代码生成对应的 AST 结构。进行代码分割,将代码分割成 token 流 (语法单元数组),再根据 token 流生成对应的 AST
- 转换 (transform):遍历 AST 节点并生成新的 AST 节点
- 生成 (generator):根据新的 AST 生成新的目标代码