typescript/prefer-namespace-keyword 正确性
它的作用
当使用 module 关键字而非 namespace 时,此规则会发出警告。 该规则不会对用于描述外部 API 的 TypeScript 模块声明(如 declare module 'foo' {})进行报告。
WARNING
此规则已弃用,将在未来的版本中移除。
在未来的 TypeScript 和 Oxlint 版本中,这将由解析器直接作为硬错误处理。
参见:https://github.com/microsoft/TypeScript/issues/54500, https://github.com/microsoft/TypeScript/issues/62211 以及 https://github.com/microsoft/TypeScript/pull/62876。
为什么这是个问题?
命名空间是组织 TypeScript 代码的一种过时方式。现在更推荐使用 ES2015 模块语法(import / export)。 对于仍在使用自定义模块 / 命名空间的项目,建议将其称为命名空间。
示例
此规则的 不正确 代码示例:
typescript
module Example {}此规则的 正确 代码示例:
typescript
namespace Example {}如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"typescript/prefer-namespace-keyword": "error"
}
}bash
oxlint --deny typescript/prefer-namespace-keyword