Skip to content
← Back to rules

import/max-dependencies 严谨

它的作用

禁止模块拥有过多的依赖项(仅限 import 语句)。

为什么这是个问题?

这是一个有用的规则,因为一个依赖项过多的模块通常是一种代码异味,通常表明该模块承担了过多职责,或者应该被拆分为更小的模块。

注意:此规则仅统计 import 语句,不包含来自 CommonJS require() 语句的依赖。这与原始的 eslint-import-plugin 规则有所不同。

示例

给定 { "max": 2 }

以下为 错误 的代码示例:

javascript
import a from "./a";
import b from "./b";
import c from "./c"; // 依赖项过多:3 个(最大允许:2 个)

以下为 正确 的代码示例:

javascript
import a from "./a";
import b from "./b"; // 允许:2 个依赖项(最大允许:2 个)

配置

此规则接受一个配置对象,包含以下属性:

ignoreTypeImports

type: boolean

default: false

在统计依赖项时是否忽略类型导入。

ts
// 如果 `ignoreTypeImports` 为 true,以下两种情况都不计入依赖项:
import type { Foo } from "./foo";
import { type Foo } from "./foo";

max

type: integer

default: 10

文件中允许的最大依赖项数量。

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "plugins": ["import"],
  "rules": {
    "import/max-dependencies": "error"
  }
}
bash
oxlint --deny import/max-dependencies --import-plugin

参考资料