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