跳转到内容

在大型项目中使用Biome

Biome可以提供一些工具,帮助您在大型项目中正确使用它,例如包含多个项目的单体库或工作区。

当您使用Biome的功能-无论是使用CLI还是LSP时-工具会使用当前工作目录查找最近的配置文件。

如果Biome在那里找不到配置文件,它会向上遍历文件系统的目录,直到找到一个配置文件。

您可以利用此功能基于项目/文件夹应用不同的设置。

假设我们有一个包含后端应用和新前端应用的项目。

app
├── backend
│ ├── biome.json
│ └── package.json
└── frontend
├── biome.json
├── legacy-app
│ └── package.json
└── new-app
└── package.json

这意味着当您从文件app/backend/package.json运行脚本时,Biome将使用配置文件app/backend/biome.json

当您从app/frontend/legacy-app/package.jsonapp/frontend/new-app/package.json运行脚本时,Biome将使用配置文件app/frontend/biome.json

可以使用extends配置选项将选项分解到不同的文件中。

假设我们有以下要求:

  • legacy-app必须使用空格进行格式化;
  • backendnew-app必须使用制表符进行格式化;
  • 所有应用程序都必须使用行宽为120;
  • backend应用程序需要一些额外的代码检查;

我们首先在app/biome.json中创建一个新的配置文件,并将共享选项放在那里:

app/biome.json
{
"formatter": {
"enabled": true,
"lineWidth": 120
}
}

现在让我们移动app/frontend/biome.jsonapp/frontend/legacy-app/,因为我们需要在那里使用不同的格式化方式。

app/frontend/legacy-app/biome.json
{
"formatter": {
"indentStyle": "space"
}
}

然后,我们告诉Biome从主要的app/biome.json文件继承所有选项,使用extends属性:

app/frontend/legacy-app/biome.json
{
"extends": ["../../biome.json"],
"formatter": {
"indentStyle": "space"
}
}

让我们跳到app/backend/biome.json,在那里我们需要启用代码检查:

app/backend/biome.json
{
"extends": ["../biome.json"],
"linter": {
"enabled": "true",
"rules": {
"recommended": true
}
}
}