node/no-exports-assign 风格
它做了什么
禁止对 exports 进行赋值。
为什么这是不好的?
直接使用 exports = {} 可能导致混淆并引发潜在错误,因为这会重新分配 exports 对象,可能破坏模块导出。更可预测且更清晰的做法是直接使用 module.exports,或与 exports 配合使用。
此规则旨在禁止 exports = {},但允许 module.exports = exports = {},以避免与 n/exports-style 规则的 allowBatchAssign 选项发生冲突。
示例
此规则的错误代码示例:
js
exports = {};此规则的正确代码示例:
js
module.exports.foo = 1;
exports.bar = 2;
module.exports = {};
// 如果同时使用 `module.exports =`,则允许 `exports = {}`
module.exports = exports = {};
exports = module.exports = {};如何使用
通过配置文件或在 CLI 中启用此规则,可以使用:
json
{
"plugins": ["node"],
"rules": {
"node/no-exports-assign": "error"
}
}bash
oxlint --deny node/no-exports-assign --node-plugin