babel 原理一:babel 包的构成

babel 的包的构成

核心包

babel-core: babel 转译器本身,提供了 babal 的转译 API,如 babel.transform 等,用于对代码进行转译

babylon: js 的词法解析器(babel 7.x 重命名为 @babel/parser)

babel-traverse: 用于对 AST 的遍历,主要给 plugin 用

babel-generator: 根据 AST 生成代码

功能包

babel-types: 用于检验、构建和改变 AST 树的节点

babel-template: 辅助函数,用于从字符串形式的代码来构建 AST 树节点

babel-helpers: 一系列预制的 babel-template 函数,用于提供给一些 plugins 使用

babel-core-frames: 用于生成错误信息,打印出错误点源代码帧以及指出出错位置

babel-plugin-xxx: babel 转译过程中使用到的插件,其中 babel-plugin-transform-xxx 是 transform 步骤使用的

babel-preset-xxx: transform 阶段使用到的一系列的 plugin

babel-polyfill: JS 标准新增的原生对象和 API 的 shim,实现上仅仅是 core-js 和 regenerator-runtime 两个包的封装

babel-runtime: 功能类似 babel-polyfill,一般用于 library 或 plugin 中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值