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"
}
};
在 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 中開啟import { value } from 'code';
在 Playground 中開啟path
設定為 'never'
時,會禁止使用 /// <reference path="..." />
並強制改用 import
- ❌ 錯誤
- ✅ 正確
/// <reference path="code" />
globalThis.value;
在 Playground 中開啟import { value } from 'code';
在 Playground 中開啟types
設定為 'never'
時,會禁止使用 /// <reference types="..." />
並強制改用 import
- ❌ 錯誤
- ✅ 正確
/// <reference types="code" />
globalThis.value;
在 Playground 中開啟import { value } from 'code';
在 Playground 中開啟types
選項也可以設定為 "prefer-import"
值。這樣做表示只有在已經從相同位置匯入時,規則才會回報
- ❌ 錯誤
- ✅ 正確
/// <reference types="code" />
import { valueA } from 'code';
globalThis.valueB;
在 Playground 中開啟import { valueA, valueB } from 'code';
在 Playground 中開啟何時不應使用
大多數現代 TypeScript 專案通常使用 import
語句來引入類型。除了自動產生的程式碼之外,很少需要使用 ///
三斜線參考。如果您的專案是少數有這些使用案例的專案之一,則此規則可能不適合您。您可以考慮針對這些特定情況使用 ESLint 停用註解,而不是完全停用此規則。
何時不應使用
如果您想使用所有種類的三斜線參考指令。