Babel

Babel 的原理

Babel 可以将代码转译为想要的目标代码,并且对目标环境不支持的 API,自动 polyfill

流程:

  1. 解析 (parse):根据代码生成对应的 AST 结构。进行代码分割,将代码分割成 token 流 (语法单元数组),再根据 token 流生成对应的 AST
  2. 转换 (transform):遍历 AST 节点并生成新的 AST 节点
  3. 生成 (generator):根据新的 AST 生成新的目标代码