跳至主要内容

triple-slash-reference

禁止使用某些三斜杠指令,而应使用 ES6 样式的导入声明。

TypeScript 的 /// 三斜杠引用是一种方法,用于指示来自另一个模块的类型在文件中可用。通常不建议使用三斜杠引用类型指令,而应使用 ECMAScript 模块 import。此规则报告使用 /// <reference lib="..." />/// <reference path="..." />/// <reference types="..." /> 指令的情况。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/triple-slash-reference": "error"
}
};

在游乐场中尝试此规则 ↗

选项

此规则接受以下选项

type Options = [
{
lib?: 'always' | 'never';
path?: 'always' | 'never';
types?: 'always' | 'never' | 'prefer-import';
},
];

const defaultOptions: Options = [
{ lib: 'always', path: 'never', types: 'prefer-import' },
];

可以将三种引用中的任何一种指定为选项。指定 'always' 将为该类型的引用禁用此 lint 规则。

lib

当设置为 'never' 时,禁止使用 /// <reference lib="..." /> 并强制使用 import 代替。

/// <reference lib="code" />

globalThis.value;
在游乐场中打开

path

当设置为 'never' 时,禁止使用 /// <reference path="..." /> 并强制使用 import 代替。

/// <reference path="code" />

globalThis.value;
在游乐场中打开

types

当设置为 'never' 时,禁止使用 /// <reference types="..." /> 并强制使用 import 代替。

/// <reference types="code" />

globalThis.value;
在游乐场中打开

types 选项可以改为使用 "prefer-import" 值。这样做表示该规则仅在已存在来自相同位置的 import 时才报告。

/// <reference types="code" />

import { valueA } from 'code';

globalThis.valueB;
在游乐场中打开

何时不使用它

大多数现代 TypeScript 项目通常使用 import 语句来引入类型。除了自动生成的代码之外,很少需要 /// 三斜杠引用。如果您的项目是具有这些用例之一的罕见项目,则此规则可能不适合您。您可能考虑使用 ESLint 禁用注释 针对这些特定情况,而不是完全禁用此规则。

何时不使用它

如果您想使用所有类型的三斜杠引用指令。

资源