babel 介绍
babel 的名字来自巴别塔的典故,是一个 js 转译器,用于 es next、typescript等代码的转换,同时还暴露出了 api 让开发者可以进行特定用途的转换。除此以外,还可以做各种静态分析。
babel 用途
转义 esnext、typescript、flow 等到目标环境的 js
这个是最常用的功能,用来把代码中的 esnext 的新的语法、typescript 和 flow 的语法转成基于目标环境支持的语法的实现。并且还可以把目标环境不支持的 api 进行 polyfill。
一些特点用途的代码转换
将代码转换为 AST,转换处理 AST, 将 AST 生成目标代码。
- 自动埋点
- 自动国际化
代码的静态分析
分析代码的信息,进一步检查。
- linter 代码分析,对代码规范就那些检查
- api 文档生成
- type checker ,从而减少运行时因类型导致的错误。