我可以在一个 monorepo 中有多个 babel.config.js 吗?

Aja*_*hak 8 reactjs babeljs monorepo

我有一个结构如下的 monorepo

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

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

|---server/
   |----package.json
   |----src/index.js
Run Code Online (Sandbox Code Playgroud)

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

现在,我该如何完成该配置?我能想到的一个解决方案是babel.config.js在 monorepo 的根目录下有mobile一个 和包的配置,以及在包级别的包desktop的单独配置。我不确定,我们是否可以拥有多个.serverbabel.config.jsserverbabel.config.js

log*_*yth 3

就我个人而言,我认为使用单独的文件会导致混乱。假设您已经以一种已经可以工作的方式设置了系统,并且您只是询问如何为不同位置指定不同的配置,则可以使用该"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
  }],
};
Run Code Online (Sandbox Code Playgroud)