Skip to content
← Back to rules

typescript/no-useless-empty-export 正确性

This rule is turned on by default.
An auto-fix is available for this rule.

它的作用

禁止在模块文件中没有任何实际效果的空导出。

为什么这是不好的?

在 TypeScript 代码中,空的 export {} 语句有时是有效的,用于将原本会作为脚本文件的文件转变为模块文件。根据 TypeScript 手册的模块章节

在 TypeScript 中,与 ECMAScript 2015 一样,任何包含顶层 importexport 的文件都被视为模块。相反,没有顶层 importexport 声明的文件被视为脚本,其内容将处于全局作用域中(因此也可被模块访问)。

然而,如果一个文件中已存在其他顶层 importexport 声明,那么 export {} 语句将不起任何作用。

此规则会报告那些在已经使用 ES 模块的文件中毫无作用的 export {}

示例

此规则的 错误 代码示例:

ts
export const value = "Hello, world!";
export {};

此规则的 正确 代码示例:

ts
export const value = "Hello, world!";

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "rules": {
    "typescript/no-useless-empty-export": "error"
  }
}
bash
oxlint --deny typescript/no-useless-empty-export

参考资料