我有一个具有以下结构的monorepo
babel.config.js
packages/
|---mobile/
|----package.json
|----src/index.js
|---desktop/
|----package.json
|----src/index.js
|---server/
|----package.json
|----src/index.js
因此,我对babel
和mobile
软件包的desktop
配置是相同的,而server
软件包的配置却不同。
现在,如何完成该配置?我可以想到的一种解决方案是,在monorepo的根部有一个babel.config.js
,它将具有mobile
和desktop
软件包的配置以及server
的单独配置在babel.config.js
包级别的server
中打包。我不确定,我们甚至可以有多个babel.config.js
。
答案 0 :(得分:1)
我个人认为使用单独的文件会引起混乱。假设您已经以一种可以正常工作的方式设置了系统,并且只是在询问如何为不同的位置指定不同的配置,则可以使用"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
}],
};
答案 1 :(得分:0)
是的,您可以通过拥有多个配置文件来实现您的要求。在babel文档中将其称为与文件相关的配置。
在您的每个目录(移动设备,台式机,服务器)中创建.babelrc或.babelrc.js文件
有关更多详细信息,请参见https://babeljs.io/docs/en/next/config-files