Skip to content
← Back to rules

node/no-exports-assign 스타일

An auto-fix is available for this rule.

작동 방식

exports에 대한 할당을 금지합니다.

왜 문제가 되는가?

exports = {}를 직접 사용하면 exports 객체를 재할당하기 때문에 혼란스럽고 잠재적인 버그를 초래할 수 있습니다. 이로 인해 모듈의 내보내기 기능이 깨질 수 있으며, module.exports를 직접 사용하거나 exports와 함께 사용하는 것이 더 예측 가능하고 명확합니다.

이 규칙은 exports = {}를 금지하기 위한 것이지만, n/exports-style 규칙의 allowBatchAssign 옵션과 충돌을 피하기 위해 module.exports = exports = {}는 허용합니다.

예시

이 규칙에 대해 잘못된 코드 예시:

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

참고 자료