index.js를 실행해보겠습니다. 결과는 다음과 같습니다.
콘솔
$ node index
CJS 짝수입니다
CJS 홀수입니다
이렇게 여러 파일에 걸쳐 재사용되는 함수나 변수를 모듈로 만들어두면 편리합니다. 그러나 모듈이 많아지고 모듈 간의 관계가 얽히게 되면 구조를 파악하기 어렵다는 단점도 있습니다. 노드에서는 대부분의 파일이 다른 파일을 모듈로 사용하고 있으므로 모듈을 만들고 사용하는 방법을 꼭 알아둬야 합니다.
지금까지는 모듈을 만들 때 module.exports만 사용했는데, module 객체 말고 exports 객체로도 모듈을 만들 수 있습니다.
앞의 var.js를 다음과 같이 수정해도 index.js에서는 동일하게 불러올 수 있습니다.
var.js
exports.odd = 'CJS 홀수입니다';
exports.even = 'CJS 짝수입니다';
콘솔
$ node index
CJS 짝수입니다
CJS 홀수입니다