Skip to main content

no-useless-empty-export

Disallow empty exports that don't change anything in a module file.

🔧

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


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

英:An empty export {} statement is sometimes useful in TypeScript code to turn a file that would otherwise be a script file into a module file. Per the TypeScript Handbook Modules page:

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

但是,如果文件中存在任何其他顶层导入或导出语句,则 export {} 语句不会执行任何操作。

英:However, an export {} statement does nothing if there are any other top-level import or export statements in a file.

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

英:This rule reports an export {} that doesn't do anything in a file already using ES modules.

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-useless-empty-export": "error"
}
};
在线运行试试这个规则 ↗

示例

export const value = 'Hello, world!';
export {};
Open in Playground
import 'some-other-module';
export {};
Open in Playground

何时不使用它

如果你不介意文件底部有一个空的 export {},则可能不需要此规则。

英:If you don't mind an empty export {} at the bottom of files, you likely don't need this rule.

选项

该规则不可配置。

资源