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 中,因为它不会污染全局作用域
工具包
babel-cli: babel 的命令行工具,通过命令行对 js 代码进行转译
babel-register: 通过绑定 node.js 的 require 来自动转译 require 引用的 js 代码文件
来源:CSDN
作者:wenxiaowen677
链接:https://blog.csdn.net/waiting677/article/details/103929682