Skip to content
← Back to rules

import/export Nursery

它的作用

报告与导出相关的异常行为,例如重复导出名称或默认导出。

为什么这不好?

同名的多个导出会在代码库中导致歧义和混乱。
这会使得跟踪正在使用哪个导出变得困难,并且如果引用了错误的导出,可能会导致运行时错误。

示例

以下是此规则的不正确代码示例:

javascript
let foo;
export { foo }; // 名称 'foo' 被重复导出。
export * from "./export-all"; // 如果 export-all.js 也导出 foo,则会冲突

以下是此规则的正确代码示例:

javascript
let foo;
export { foo as foo1 }; // 重命名导出以避免冲突
export * from "./export-all"; // 如果 export-all.js 也导出 foo,则不会冲突

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "plugins": ["import"],
  "rules": {
    "import/export": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: ["import"],
  rules: {
    "import/export": "error",
  },
});
bash
oxlint --deny import/export --import-plugin

版本

此规则在 v0.0.21 中加入。

参考资料