triple-slash-reference
禁止使用某些三斜杠指令,而应使用 ES6 样式的导入声明。
在 "plugin:@typescript-eslint/recommended"
的 ESLint 配置 中扩展此规则。
TypeScript 的 ///
三斜杠引用是一种方法,用于指示来自另一个模块的类型在文件中可用。通常不建议使用三斜杠引用类型指令,而应使用 ECMAScript 模块 import
。此规则报告使用 /// <reference lib="..." />
、/// <reference path="..." />
或 /// <reference types="..." />
指令的情况。
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
代替。
path
当设置为 'never'
时,禁止使用 /// <reference path="..." />
并强制使用 import
代替。
types
当设置为 'never'
时,禁止使用 /// <reference types="..." />
并强制使用 import
代替。
types
选项可以改为使用 "prefer-import"
值。这样做表示该规则仅在已存在来自相同位置的 import
时才报告。
- ❌ 错误
- ✅ 正确
何时不使用它
大多数现代 TypeScript 项目通常使用 import
语句来引入类型。除了自动生成的代码之外,很少需要 ///
三斜杠引用。如果您的项目是具有这些用例之一的罕见项目,则此规则可能不适合您。您可能考虑使用 ESLint 禁用注释 针对这些特定情况,而不是完全禁用此规则。
何时不使用它
如果您想使用所有类型的三斜杠引用指令。