定义
Babel 是一个现代Javascript语法的编译器,它是一个插件化的工具链,主要用于将采用ECMAScript 2015+ 语法编写的代码转换为向后兼容的Javascript语法,以便能够运行在当前和旧版本的浏览器或其他环境中。
下面列出的是babel能做的事情:
使用指南(适用于≥v7.x)
所有的babel模块都是作为独立的npm包发布的,并且(从版本7开始)都是在 @babel 包范围下,其中babel的核心功能都包含在@babel/core包中,@babel/cli是一个能够在终端(CLI)使用的工具。
- CLI命令行的用法
- 安装@babel/core、@babel/cli: npm install --save-dev @babel/{core,cli,preset-env}
- 携带相关参数执行相关命令来实现编译文件、目录等操作,如: npx babel src --out-dir lib ,使用 env预设 解析 src 目录下的所有JavaScript文件,然后把每个文件输出到 lib 目录下(默认配置支持所有最新的≥Stage 3 的JavaScript特性)。
- 配置文件的用法
-
安装@babel/core、@babel/cli: npm install --save-dev @babel/{core,cli,preset-env}
-
对于v7.8.0 或更高版本,在项目根目录下新建一个名为 babel.config.json 的文件,并配置相关预设和插件,如果使用的是旧版本的babel,则文件名为 babel.config.js 。
// package.json { "name": "my-package", "version": "1.0.0", "babel": { "presets": [... ], "plugins": [... ], } } // babel.config.json、.babelrc、.babelrc.json { presets: [...], plugins: [...] } // babel.config.[c|m]?js module.exports = function (api) { return { presets: [...], plugins: [...] } } // .babelrc.js module.exports = { presets: [...], plugins: [...] } -
执行相关命令来实现编译文件、目录等操作,如: npx babel src --out-dir lib ,使用 env预设 解析 src 目录下的所有JavaScript文件,然后把每个文件输出到 lib 目录下(默认配置支持所有最新的≥Stage 3的JavaScript特性)。
-
预设(Presets)
预设是一套预先设定的插件,常用的的预设如下:
插件(Plugins)
插件是一个小型的JavaScript程序,是Babel 工具的基础形态,用于指导Babel如何对代码进行转换。可点击查看官方维护的插件列表。