prefer-namespace-keyword
要求使用
namespace
关键字而不是module
关键字来声明自定义 TypeScript 模块。
🎨
在 "plugin:@typescript-eslint/stylistic"
中扩展 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"
}
};
在游乐场中尝试此规则 ↗
示例
选项
此规则不可配置。
何时不使用它
如果您没有使用 TypeScript 的旧 module
/namespace
关键字,那么您将不需要此规则。