import/no-unassigned-import 可疑
它的作用
此规则旨在通过报告导入但未分配的模块来消除具有副作用的模块。
为什么这是个问题?
无论是 CommonJS 的 require 还是 ES 模块的 import 语法,都可能导入一个模块但不使用其结果。 这可以通过不将模块赋值给变量来显式实现。 这样做可能意味着以下任意一种情况:
- 模块被导入但未使用
- 模块具有副作用。具有副作用的模块,使得很难判断该模块是否真正被使用,或是否可以移除。 它也可能使测试或模拟应用程序的某些部分变得更加困难。
示例
此规则的 错误 代码示例:
js
import "should";
require("should");此规则的 正确 代码示例:
js
import _ from "foo";
import _, { foo } from "foo";
import _, { foo as bar } from "foo";
const _ = require("foo");
const { foo } = require("foo");
const { foo: bar } = require("foo");
bar(require("foo"));配置
此规则接受一个配置对象,包含以下属性:
allow
type: string[]
default: []
允许对特定模块进行未分配导入的 glob 模式列表。 例如: { "allow": ["**/*.css"] } 将允许任何以 .css 结尾的模块进行未分配导入。
如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"plugins": ["import"],
"rules": {
"import/no-unassigned-import": "error"
}
}bash
oxlint --deny import/no-unassigned-import --import-plugin