import/no-dynamic-require 限制
它的作用
禁止在模块参数中使用表达式的导入。这包括在 require 或 import 语句中动态解析的路径。
为什么这是不好的?
在导入语句中使用运行时才确定的表达式,会使难以确定模块的导入来源。这会增加代码导航的复杂性,并阻碍静态分析工具,这些工具依赖于可预测的模块路径来进行检查、打包和其他优化。
示例
此规则的 错误 代码示例:
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