Skip to content
← Back to rules

import/unambiguous 限制

它的作用

如果一个 module 可能被错误地解析为 script 而非纯 ES 模块,则发出警告。

为什么这是问题?

在仅支持 ESM 的环境中,模糊的文件可能导致意外结果和问题。

示例

此规则的错误代码示例:

js
function x() {}

(function x() {
  return 42;
})();

此规则的正确代码示例:

js
import "foo";
function x() {
  return 42;
}

export function x() {
  return 42;
}

(function x() {
  return 42;
})();
export {}; // 标记仅包含副作用的文件为 'module' 的简便方式,无需任何导入或导出

如何使用

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

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

参考资料