配置 Babel


Babel 也由配置文件!许多其他工具都有类似的配置文件:ESLint (.eslintrc)、Prettier (.prettierrc)。

所有 Babel API 参数 都可以被配置。然而,如果该参数需要用到 JavaScript 代码,你可能需要使用 JavaScript 代码版的 配置文件

你的使用场景是什么?

  • 你是否希望以编程的方式创建配置文件?
  • 你是否希望编译 node_modules 目录下的模块?

babel.config.js 文件可以满足你的的需求!

  • 你是否只是需要一个简单的并且只用于单个软件包的配置?

.babelrc 文件适合你!

  • The Guy Fieri is your hero?

我们建议使用 babel.config.js 格式的配置文件。Babel 本身使用的就是这种

babel.config.js

在项目的根目录(package.json 文件所在目录)下创建一个名为 babel.config.js 的文件,并输入如下内容。

Js中文网 – 前端进阶资源教程 www.javascriptC.com ,Babel中文文档
一个致力于帮助开发者用代码改变世界为使命的平台

 js
module.exports = function (api) {
  api.cache(true);

  const presets = [ ... ];
  const plugins = [ ... ];

  return {
    presets,
    plugins
  };
}

请参阅 babel.config.js 文档 以了解更多关于配置参数的信息。

.babelrc

在你的项目中创建名为 .babelrc 的文件,并输入以下内容。

Js中文网 – 前端进阶资源教程 www.javascriptC.com ,Babel中文文档
一个致力于帮助开发者用代码改变世界为使命的平台

 json
{
  "presets": [...],
  "plugins": [...]
}

请参阅 .babelrc 文档 以了解更多关于配置参数的信息。

package.json

或者,还可以选择将 .babelrc 中的配置信息作为 babel 键(key)的值添加到 package.json 文件中,如下所示:

 json
{
  "name": "my-package",
  "version": "1.0.0",
  "babel": {
    "presets": [ ... ],
    "plugins": [ ... ],
  }
}

.babelrc.js

.babelrc 的配置相同,但你可以使用 JavaScript 编写。

 js
const presets = [ ... ];
const plugins = [ ... ];

module.exports = { presets, plugins };

你还可以调用 Node.js 的任何 API,例如基于进程环境进行动态配置:

Js中文网 – 前端进阶资源教程 www.javascriptC.com ,Babel中文文档
一个致力于帮助开发者用代码改变世界为使命的平台

 js
const presets = [ ... ];
const plugins = [ ... ];

if (process.env["ENV"] === "prod") {
  plugins.push(...);
}

module.exports = { presets, plugins };

使用 CLI (@babel/cli)

 sh
babel --plugins @babel/plugin-transform-arrow-functions script.js

请参阅 babel-cli 文档 以了解更多关于配置参数的信息。

使用 API (@babel/core)

 js
require("@babel/core").transform("code", {
  plugins: ["@babel/plugin-transform-arrow-functions"]
});

请参阅 babel-core 文档 以了解更多关于配置参数的信息。

← 使用指南学习 ES2015 →

来源:Js中文网 – 前端进阶资源教程
链接:https://www.javascriptc.com/docs/babel-manual/configuration

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 画漫画的程序员 GitHub仓库,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界