앞서 살펴본 아티클에서 CommonJS 모듈 실습을 위한 예제 코드를 작성했습니다. [var.js], [func.js]가 그것이죠. 아래와 같이 작성된 코드를 다시 한번 상기하도록 하겠습니다.
/* var.js */
const odd = 'CJS 홀수';
const even = 'CJS 짝수';
module.exports = {
odd,
even,
};
/* func.js */
const { odd, even } = require('./var');
function checkOddOrEven(num) {
if (num % 2) {
return odd;
}
return even;
}
module.exports = checkOddOrEven;
위 예제 코드를 다시 되짚어보겠습니다. 우선 [var.js]에서는 odd와 even이라는 변수를 module.exports 객체에 포함시켰습니다. 그리고 [func.js]에서는 (구조 분해 할당을 이용해) require('./var')를 사용해서 odd와 even이라는 변수를 선언했습니다. 참고로 구조 분해 할당이 아니더라도 const obj = require('./var');로 객체를 통째로 불러온 다음, obj.odd / obj.even으로 접근하는 것도 가능합니다.
그리고 불러온 모듈을 통해 odd와 even을 사용하는 checkOddOrEven이라는 함수도 선언했습니다. 마지막으로 다시 module.exports가 등장했습니다. 여기에는 위에서 선언한 checkOddOrEven을 할당했네요. 결과적으로 이 [func.js] 파일도 또 하나의 모듈이 되었습니다.
참고로 module.exports에는 객체뿐만 아니라 함수, 변수도 대입이 가능하다는 것을 눈치채셨죠?
이제 마지막으로 [index.js]를 작성해 보겠습니다.
const { odd, even } = require('./var');
const checkNumber = require('./func');
function checkStringOddOrEven(str) {
if (str.length % 2){
return odd;
}
return even;
}
console.log(checkNumber(10));
console.log(checkStringOddOrEven('hello'));
/* 출력
CJS 짝수
CJS 홀수
*/
[var.js]와 [func.js] 모듈을 모두 불러왔습니다. 참고로 [func] 모듈을 불러올 때는 checkNumber라는 변수로 할당했습니다. 이를 통해서 모듈로부터 값을 불러올 때, 변수 이름을 다르게 지정할 수 있다는 사실도 알 수 있습니다.
'Programming > Node.js' 카테고리의 다른 글
4. Node 기능 살펴보기 (2) - 모듈 사용하기 : CommonJS 4 (0) | 2024.03.19 |
---|---|
4. Node 기능 살펴보기 (2) - 모듈 사용하기 : CommonJS 3 (0) | 2024.03.16 |
4. Node 기능 살펴보기 (2) - 모듈 사용하기 : CommonJS 1 (2) | 2024.03.13 |
4. Node 기능 살펴보기 (1) - REPL 사용 (0) | 2024.03.13 |
3. Front-end Javascript (4) - 데이터 속성과 dataset (0) | 2024.03.12 |