跳至主要內容

偏好命名空間關鍵字

要求使用 namespace 關鍵字而不是 module 關鍵字宣告自訂 TypeScript 模組。

🎨

擴充 "plugin:@typescript-eslint/風格" ESLint 設定檔 中啟用這項規則。

🔧

此規則報告的某些問題可由 --fix ESLint 命令列選項自動修正.

在過去,TypeScript 允許一種稱為「自訂模組」的程式碼組織形式(module Example {}),後來改名為「命名空間」(namespace Example)。

命名空間是一種過時的 TypeScript 程式碼組織方式。現在建議採用 ES2015 模組語法(import/export)。

對於仍然使用自訂模組/命名空間的專案,建議將其稱為命名空間。此規則會在使用 module 關鍵字而不是 namespace 時報告錯誤。

此規則不會針對使用 TypeScript 模組宣告來描述外部 API(declare module 'foo' {})進行報告。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/prefer-namespace-keyword": "error"
}
};

在遊樂場測試這項規則 ↗

範例

module Example {}
在 Playground 中開啟

選項

這個規則不可被設定。

什麼時候不使用

如果你沒有使用 TypeScript 的舊有 module/namespace 關鍵字,你不會需要這個規則。

延伸閱讀

資源