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 中添加。
