Skip to content
← Back to rules

import/no-named-as-default-member Suspicious

它的作用

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

为什么这不好?

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

示例

已知

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"; // 正确:直接访问具名导出

如何使用

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

json
{
  "plugins": ["import"],
  "rules": {
    "import/no-named-as-default-member": "error"
  }
}
ts
import { defineConfig } from "oxlint";

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

版本

此规则于 v0.2.1 中添加。

参考资料