Skip to content
← Back to rules

nextjs/no-assign-module-variable 正确性

它的作用

防止在 Next.js 应用中对名为 module 的变量进行赋值或声明。

为什么这是不好的?

变量名 module 在 Next.js 中被保留用于内部使用和模块系统功能。声明自己的 module 变量可能会与 Next.js 的内部模块系统发生冲突,导致应用中出现意外行为,并引发代码分割和热模块替换相关的问题。

示例

此规则的 错误 代码示例:

javascript
// 声明 module 变量
let module = {};

// 在变量声明中使用 module
const module = {
  exports: {},
};

// 对 module 进行赋值
module = { id: "my-module" };

此规则的 正确 代码示例:

javascript
// 使用不同的变量名
let myModule = {};

// 使用更描述性的名称
const customModule = {
  exports: {},
};

// 访问实际的 module 对象(当可用时)
console.log(module.exports);

如何使用

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

json
{
  "plugins": ["nextjs"],
  "rules": {
    "nextjs/no-assign-module-variable": "error"
  }
}
bash
oxlint --deny nextjs/no-assign-module-variable --nextjs-plugin

参考资料