-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
module 관련 질문입니다!
22.03.13 17:32 작성 조회수 104
0
제로초님의 var.js, func.js, index.js에서 func.js 파일에 console.log('func.js 파일') 한 줄을 추가했습니다.
// func.js
const { odd, even } = require('./var');
console.log('func.js 파일');
function checkOddOrEven(num) {
if (num % 2) { // 홀수면(1 -> true)
return odd;
}
return even;
}
module.exports = checkOddOrEven;
그리고 node index 를 실행해봤더니
index.js 파일에서 checkOddOrEven() 함수만 checkNumber에 할당되는 줄 알았는데 결과가 console.log('func.js 파일');도 같이 실행되네요...
func.js 파일에 있는 checkOddOrEven() 함수 밖에 있는 console.log('func.js 파일') 까지 실행되는 이유가 궁금합니다!
답변을 작성해보세요.
1
조현영
지식공유자2022.03.13
원래 require하면 require한 해당 파일 전체가 실행됩니다. 해당 파일 전체가 실행되어야 export되는 부분이 무엇인지도 알 수 있으니까요.
module.exports나 require가 특수한 게 아닙니다. 똑같이 한줄한줄 실행해서 module.exports나 exports에 대입된 객체를 require로 가져오는 것입니다.
답변 1