반응형
m1.js
console.log('m1은 object를 exports하는 모듈');
module.exports = {
name: 'm1',
type: '객체'
};
객체를 exports하는 모듈이다.
module.exports를 사용하여 name과 type 속성을 가진 객체를 내보낸다.
m2.js
console.log('m2는 함수를 exports하는 모듈');
module.exports = function(){
return 'm2의 함수 호출';
};
m2.js는 함수를 exports하는 모듈이다.
module.exports를 통해 함수를 내보낸다.
m3.js
console.log('m3는 인자값을 가지는 함수를 exports');
module.exports = function(score){
return {
sum: function(){
return score.kor + score.eng;
},
avg: function(){
return this.sum() / 2;
}
};
};
반응형
m3.js는 인자값을 가지는 함수를 exports하는 모듈이다.
여기서는 학생의 국어와 영어 점수를 인자로 받아 총점과 평균을 계산하는 객체를 반환하는 함수를 내보낸다.
m4.js
console.log('전형적인 코어 모듈의 exports 방식');
//... 생략 ...
module.exports = someObj;
m4.js에서는 전형적인 Node.js 코어 모듈의 exports 방식을 사용한다.
someObj 객체는 createServer, readFile, join 같은 예제 기능을 제공한다.
main.js
const m1 = require('./m1');
console.log(typeof m1, m1.name, m1.type);
const m2 = require('./m2');
console.log(typeof m2, m2());
const m22 = require('./m2')();
console.log(m22);
const m3 = require('./m3');
const kim = m3({ kor: 100, eng: 90 });
const lee = m3({ kor: 56, eng: 87 });
console.log(kim.sum(), kim.avg());
console.log(lee.sum(), lee.avg());
main.js에서는 각 파일로부터 모듈을 가져온다. (require())
가져온 m1 모듈의 객체에서 name과 type 속성을 출력.
가져온 m2 모듈은 함수를 내보내므로, 함수를 실행하여 결과를 출력.
이때, m2를 호출하여 반환된 값을 m22 변수에 저장한 뒤 결과를 출력.
가져온 m3 모듈은 함수를 내보내며, 객체를 반환.
학생들의 국어와 영어 점수를 인자로 주어 'kim'과 'lee'라는 객체를 생성하고,
각 객체의 sum()와 avg() 함수를 호출하여 총 점수와 평균 점수를 출력.
반응형
'Node.js' 카테고리의 다른 글
[Node.js] 웹 서버 만드는 방법 | 웹 서버 생성, 포트 설정, 요청에 따른 파일 서비스, 에러 처리 (0) | 2023.08.12 |
---|---|
[Node.js] ➍ 모듈(module) 사용법 | 클래스(class) (0) | 2023.08.11 |
[Node.js] ➌ 모듈(module) 사용법 | m4, m5 (0) | 2023.08.10 |
[Node.js] ➊ 모듈(module) 사용법, exports, require() (0) | 2023.08.08 |
[Node.js] NPM(Node Package Manager), package.json, 모듈로딩 (0) | 2023.08.08 |