我可以在 monorepo 中有多个 babel.config.js 吗?
Can I have multiple babel.config.js in a monorepo?
我有一个结构如下的 monorepo
babel.config.js
packages/
|---mobile/
|----package.json
|----src/index.js
|---desktop/
|----package.json
|----src/index.js
|---server/
|----package.json
|----src/index.js
所以我对 mobile
和 desktop
包的 babel
配置是相同的,而 server
包的配置是不同的。
现在,我该如何完成该配置?我能想到的一个解决方案是在 monorepo 的根目录下有一个 babel.config.js
,它将具有 mobile
和 desktop
包的配置以及 server
的单独配置在 server
包级别的 babel.config.js
包中。我不确定,我们甚至可以有多个 babel.config.js
.
是的,您可以通过拥有多个配置文件来实现您的要求。它在 babel 文档中被称为文件相关配置。
在您的每个目录(移动、桌面、服务器)中创建一个 .babelrc 或 .babelrc.js 文件
有关详细信息,请参阅 https://babeljs.io/docs/en/next/config-files
就我个人而言,我认为使用单独的文件会导致混淆。假设您已经以一种可以正常工作的方式设置了您的系统,并且您只是询问如何为不同的位置指定不同的配置,您可以使用 "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
}],
};
我有一个结构如下的 monorepo
babel.config.js
packages/
|---mobile/
|----package.json
|----src/index.js
|---desktop/
|----package.json
|----src/index.js
|---server/
|----package.json
|----src/index.js
所以我对 mobile
和 desktop
包的 babel
配置是相同的,而 server
包的配置是不同的。
现在,我该如何完成该配置?我能想到的一个解决方案是在 monorepo 的根目录下有一个 babel.config.js
,它将具有 mobile
和 desktop
包的配置以及 server
的单独配置在 server
包级别的 babel.config.js
包中。我不确定,我们甚至可以有多个 babel.config.js
.
是的,您可以通过拥有多个配置文件来实现您的要求。它在 babel 文档中被称为文件相关配置。
在您的每个目录(移动、桌面、服务器)中创建一个 .babelrc 或 .babelrc.js 文件
有关详细信息,请参阅 https://babeljs.io/docs/en/next/config-files
就我个人而言,我认为使用单独的文件会导致混淆。假设您已经以一种可以正常工作的方式设置了您的系统,并且您只是询问如何为不同的位置指定不同的配置,您可以使用 "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
}],
};