跳至主要内容

禁止使用无用的空导出

禁止在模块文件中不改变任何内容的空导出。

🔧

此规则报告的一些问题可以通过 --fix ESLint 命令行选项 自动修复。

export {} 语句在 TypeScript 代码中有时很有用,可以将原本是脚本文件的文件转换为模块文件。根据 TypeScript 手册模块页面

在 TypeScript 中,就像在 ECMAScript 2015 中一样,任何包含顶层导入或导出的文件都被视为模块。反之,没有顶层导入或导出声明的文件被视为脚本,其内容在全局范围内可用(因此也对模块可用)。

但是,如果文件中存在任何其他顶层导入或导出语句,export {} 语句将不起作用。

此规则报告在已使用 ES 模块的文件中不执行任何操作的 export {}

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-useless-empty-export": "error"
}
};

在游乐场中尝试此规则 ↗

示例

export const value = 'Hello, world!';
export {};
在游乐场中打开
import 'some-other-module';
export {};
在游乐场中打开

选项

此规则不可配置。

何时不使用它

如果您不介意在文件底部使用空 export {},您可能不需要此规则。

资源