Skip to content
← Back to rules

import/no-dynamic-require 限制

An auto-fix is available for this rule.

它的作用

禁止在模块参数中使用表达式的导入。这包括在 requireimport 语句中动态解析的路径。

为什么这是不好的?

在导入语句中使用运行时才确定的表达式,会使难以确定模块的导入来源。这会增加代码导航的复杂性,并阻碍静态分析工具,这些工具依赖于可预测的模块路径来进行检查、打包和其他优化。

示例

此规则的 错误 代码示例:

javascript
require(name);
require(`../${name}`);

此规则的 正确 代码示例:

javascript
require("../name");
require(`../name`);

配置

此规则接受一个包含以下属性的配置对象:

esmodule

type: boolean

默认值: false

当设置为 true 时,也会检查 import() 表达式中的动态模块规范符。

如何使用

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

json
{
  "plugins": ["import"],
  "rules": {
    "import/no-dynamic-require": "error"
  }
}
bash
oxlint --deny import/no-dynamic-require --import-plugin

参考资料