Skip to content
← Back to rules

import/no-named-as-default-member 可疑

它的作用

报告将导出的名称(命名导出)用作默认导出的属性的情况。当试图通过默认导出访问命名导出时,就会发生这种情况,这是不正确的。

为什么这是错误的?

通过默认导出访问命名导出是不正确的,且不会按预期工作。命名导出应直接导入,而默认导出则不应通过属性访问。这种错误可能导致运行时错误或未定义的行为。

示例

给定

javascript
// ./bar.js
export function bar() {
  return null;
}
export default () => {
  return 1;
};

此规则的错误代码示例:

javascript
// ./foo.js
import foo from "./bar";
const bar = foo.bar; // 错误:尝试通过默认导出访问命名导出

此规则的正确代码示例:

javascript
// ./foo.js
import { bar } from "./bar"; // 正确:直接访问命名导出

如何使用

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

json
{
  "plugins": ["import"],
  "rules": {
    "import/no-named-as-default-member": "error"
  }
}
bash
oxlint --deny import/no-named-as-default-member --import-plugin

参考资料