babel 介绍

babel 的名字来自巴别塔的典故,是一个 js 转译器,用于 es next、typescript等代码的转换,同时还暴露出了 api 让开发者可以进行特定用途的转换。除此以外,还可以做各种静态分析。

babel 用途

转义 esnext、typescript、flow 等到目标环境的 js

这个是最常用的功能,用来把代码中的 esnext 的新的语法、typescript 和 flow 的语法转成基于目标环境支持的语法的实现。并且还可以把目标环境不支持的 api 进行 polyfill。

一些特点用途的代码转换

将代码转换为 AST,转换处理 AST, 将 AST 生成目标代码。

  • 自动埋点
  • 自动国际化

代码的静态分析

分析代码的信息,进一步检查。

  • linter 代码分析,对代码规范就那些检查
  • api 文档生成
  • type checker ,从而减少运行时因类型导致的错误。