跳至主要內容

triple-slash-reference

禁止使用某些三斜線指令,建議改用 ES6 風格的匯入宣告。

擴展 "plugin:@typescript-eslint/recommended" ESLint 配置 中啟用此規則。

TypeScript 的 /// 三斜線參考是一種指示另一個模組中的類型在檔案中可用的方法。一般不建議使用三斜線參考類型指令,建議改用 ECMAScript 模組 import。此規則會回報使用 /// <reference lib="..." />/// <reference path="..." />/// <reference types="..." /> 指令的情況。

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

在 Playground 中試用此規則 ↗

選項

此規則接受以下選項

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

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

三種參考中的任何一種都可以指定為選項。指定 'always' 會停用該種類型參考的此程式碼檢查規則。

lib

設定為 'never' 時,會禁止使用 /// <reference lib="..." /> 並強制改用 import

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

globalThis.value;
在 Playground 中開啟

path

設定為 'never' 時,會禁止使用 /// <reference path="..." /> 並強制改用 import

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

globalThis.value;
在 Playground 中開啟

types

設定為 'never' 時,會禁止使用 /// <reference types="..." /> 並強制改用 import

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

globalThis.value;
在 Playground 中開啟

types 選項也可以設定為 "prefer-import" 值。這樣做表示只有在已經從相同位置匯入時,規則才會回報

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

import { valueA } from 'code';

globalThis.valueB;
在 Playground 中開啟

何時不應使用

大多數現代 TypeScript 專案通常使用 import 語句來引入類型。除了自動產生的程式碼之外,很少需要使用 /// 三斜線參考。如果您的專案是少數有這些使用案例的專案之一,則此規則可能不適合您。您可以考慮針對這些特定情況使用 ESLint 停用註解,而不是完全停用此規則。

何時不應使用

如果您想使用所有種類的三斜線參考指令。

資源