inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

모듈 만들기

module 관련 질문입니다!

172

워니

작성한 질문수 13

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 파일') 까지 실행되는 이유가 궁금합니다!

 

Sequelize mongodb mysql nodejs

답변 1

1

제로초(조현영)

원래 require하면 require한 해당 파일 전체가 실행됩니다. 해당 파일 전체가 실행되어야 export되는 부분이 무엇인지도 알 수 있으니까요.

module.exports나 require가 특수한 게 아닙니다. 똑같이 한줄한줄 실행해서 module.exports나 exports에 대입된 객체를 require로 가져오는 것입니다.

0

워니

답변 감사합니다! 그러면 require한 해당 파일 전체가 실행되고 func.js 파일에서 module.exports에 할당한 checkOddOrEven() 함수만 index.js에 checkNumber에 할당되다고 이해하면 되는 건가요?

0

제로초(조현영)

네 맞습니다.

0

워니

알려주셔서 감사합니다!!ㅎㅎㅎ

리눅스 노드 설치시 패키지

0

172

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

932

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2297

2

a[title] 질문드립니다

0

388

1

리뉴얼 강의 및 공부 방법

0

591

1

jwt decode

0

1139

1

node.js 교과서 3판 질문드립니다

0

399

1

passport와 jwt

0

439

1

리뉴얼 강의

0

428

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

360

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

491

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

512

2

nunjucks res.render('error'); 작동을 안합니다.

0

521

1

질문있습니다.

0

349

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3547

1

수업자료는 어디있나요?

0

374

1

질문 있습니디

0

245

1

multer 사용시 file 외 name값은 못받나용?

0

431

1

코드 중복 부분 질문드립니다.

0

303

1

api 만드는 이유 질문드립니다.

0

294

1

Strategy의 done에 대해 질문드립니다.

0

375

1

안녕하세요 fs 권한 관련 질문드립니다

0

457

1

시퀄라이즈 연결질문...

0

511

2

res.setHeader vs res.cookie

0

1799

3