Skip to content
← Back to rules

typescript/三斜杠引用 正确性

This rule is turned on by default.

它的作用

禁止使用某些三斜杠指令,转而推荐使用 ES 模块导入声明。

为什么这是不好的?

相较于 ECMAScript 模块导入,通常不建议使用三斜杠引用类型指令。

示例

以下为该规则的 错误 用法示例:

ts
/// <reference lib="code" />
globalThis.value;

配置

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

lib

type: "always" | "never"

default: "always"

/// <reference lib="..." /> 引用的强制要求。

"always"

允许使用三斜杠 lib 引用。

"never"

禁止使用三斜杠 lib 引用。

path

type: "always" | "never"

default: "never"

/// <reference path="..." /> 引用的强制要求。

"always"

允许使用三斜杠 path 引用。

"never"

禁止使用三斜杠 path 引用。

types

type: "always" | "never" | "prefer-import"

default: "prefer-import"

/// <reference types="..." /> 引用的强制要求。

"always"

允许使用三斜杠 types 引用。

"never"

禁止使用三斜杠 types 引用。

"prefer-import"

优先使用 ES 模块导入声明,而非三斜杠 types 引用。 此选项仅在存在相同模块的现有 import 声明时报告。

例如,当使用 prefer-import 时,以下代码会被视为 lint 违规:

ts
/// <reference types="foo" />
import { bar } from "foo";

如何使用

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

json
{
  "rules": {
    "typescript/triple-slash-reference": "error"
  }
}
bash
oxlint --deny typescript/triple-slash-reference

参考资料