5

我有一个结构如下的monorepo

babel.config.js
packages/
|---mobile/
   |----package.json
   |----src/index.js

|---desktop/
   |----package.json
   |----src/index.js

|---server/
   |----package.json
   |----src/index.js

所以我的和包的babel配置是一样的,而包的配置是不同的。mobiledesktopserver

现在,我怎样才能完成该配置?我能想到的一种解决方案是,babel.config.js在 monorepo 的根目录下有 a ,它将具有包的配置mobile和包的配置,以及包级别的包desktop的单独配置。我不确定,我们甚至可以有多个.serverbabel.config.jsserverbabel.config.js

4

2 回答 2

4

是的,您可以通过拥有多个配置文件来实现您的要求。它在 babel 文档中被称为文件相关配置。

在每个目录(移动、桌面、服务器)中创建一个 .babelrc 或 .babelrc.js 文件

有关更多详细信息,请查看https://babeljs.io/docs/en/next/config-files

于 2018-09-27T15:51:08.067 回答
2

就个人而言,我认为使用单独的文件会导致混乱。假设您已经以一种已经可以工作的方式设置系统并且您只是询问如何为不同的位置指定不同的配置,您可以使用该"overrides"选项。例如,你的配置可以做

module.exports = {
  overrides: [{
    test: [
      './desktop',
      './mobile',
    ],

    // put all your normal babel options for these folders here
  }, {
    test: [
      './server',
    ],

    // put all your normal babel options for the server here
  }],
};
于 2018-09-29T17:34:23.743 回答