모듈 : 특정한 기능을 하는 함수나 변수들의 집합
모듈로 만들면 여러 프로그램에서 재사용 가능
노드는 자바스크립트 코드를 모듈로 만들 수 있음

const odd = "홀수입니다";
const even = "작수입니다";
module.exports = {
odd,
even,
};
위와 같은 코드로 export 가능, 또한 module. 를 생략하고도 아래와 같이 가능
const odd = "홀수입니다";
const even = "작수입니다";
exports.odd = odd;
exports.even = even;
하지만 module.exports 와 exports. 를 둘 다 같이 쓸 순 없음, 참조 오류 발생, 때문에 한 파일에서는 둘 중 하나로만 써야 함
console.log(this)
console.log(this === module.exports)
function a() {
console.log(this === global);
}
a();
>> {} ture true
console.log('require가 가장 위에 오지 않아도 됩니다.');
module.exports = '저를 찾아보세요.';
require('./var');
console.log('require.cache입니다.');
console.log(require.cache);
console.log('require.main입니다.');
console.log(require.main === module);
console.log(require.main.filename);
두개의 모듈이 서로를 require하는 상황을 조심해야 함, 즉 서로서로 호출하는 상황
