在此之前你需要首先了解一下什么是babel,以及babel的使用指南;如果你需要其他babel的版本,还请参考[https://babel.docschina.org/versions]。
配置 Babel
Babel是可以配置!许多其他工具具有类似的配置:ESLint (.eslintrc), Prettier (.prettierrc)。
允许使用所有Babel API选项。然而,如果该选项需要JavaScript,您可能需要使用Javascript配置文件。
你的用例是什么?
您想以编程方式创建配置吗?
你想编译node_modules?
babel.config.js适合你!
- 您有一个仅适用于简单单个包的静态配置?
.babelrc is for you!
- The Guy Fieri is your hero?
我们建议使用babel.config.js格式。babel本身正在使用它。
babel.config.js
在项目的根目录下(package.json的位置)创建一个名为babel.config.js的文件,其中包含以下内容:
module.exports = function (api) {
api.cache(true);
const presets = [ ... ];
const plugins = [ ... ];
return {
presets,
plugins
};
}
查看babel.config.js文档,以查看更多配置选项。
.babelrc
在项目的根目录下(package.json的位置)创建一个名为.babelrc的文件,其中包含以下内容:
{
"presets": [...],
"plugins": [...]
}
查看.babelrc文档,以查看更多配置选项。
package.json
或者,您可以选择在package.json中,使用babel键值指定.babelrc配置,如下所示:
{
"name": "my-package",
"version": "1.0.0",
"babel": {
"presets": [ ... ],
"plugins": [ ... ],
}
}
.babelrc.js
与.babelrc的配置结构相同,但你可以用JavaScript编写它。
const presets = [ ... ];
const plugins = [ ... ];
module.exports = { presets, plugins };
您可以访问任何Node.js API,例如基于流程环境的动态配置:
const presets = [ ... ];
const plugins = [ ... ];
if (process.env["ENV"] === "prod") {
plugins.push(...);
}
module.exports = { presets, plugins };
使用 CLI (@babel/cli)
babel --plugins @babel/plugin-transform-arrow-functions script.js
查看babel-cli文档,以查看更多配置选项。
使用 API (@babel/core)
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-arrow-functions"]
});
查看babel-core文档,以查看更多配置选项。