node module을 처음 접해서 사용하다 보면 많은 사람이 갖게 되는 질문인데, 다음 글에 간단명료하게 정의되어 있다.
Difference between “module.exports” and “exports” in the CommonJs Module System – Stack Overflow
결국, 다음 코드로 간단히 설명된다.
var module = exports: {} ;var exports = moduleexports;// your codereturn moduleexports;
exports
의 property에 설정된 것은 문제없지만, exports
자체를 다른 것으로 설정해서 바꿔버리면 module.exports
와의 연결고리가 끊어지게 되므로 이점 주의해야 한다.
좀 더 자세히 설명해놓은 글: Node.js Module – exports vs module.exports
module.exports.*
와exports.*
모두 다 함께 쓸 수 있다고 해서 번갈아 혼합해서 쓸 필요는 없고,module.exports.*
의 존재 자체는 이해하되 일관성 있게exports.*
를 애용해서 사용해 줄 것을 권장한다.