개념정리
Module : 특정한 기능을 하는 함수나 변수들의 집합
💡 Module을 사용하면 비슷한 코드끼리 정리할 수 있어서 관리하기 편함.
Module을 여러 프로그램에 해당 모듈을 재사용할 수 있음.
Module 사용법
Code - Module.js
const hi = 'Hello, World!';
function print(name, str) {
console.log(`${name}, ${str}`)
}
module.exports = {
hi,
print
};
Code - Index
const Module = require('./Module.js');
Module.print('Xsop', Module.hi)
💡 module.exports로 모듈을 만들 수 있다.
모듈을 만들 때 객체 형식으로만 가능한가?
Code - Module
function print(name, str) {
console.log(`${name}, ${str}`)
}
module.exports = print;
Code - Index
const Module = require('./Module.js');
console.log(Module)
Console
[Function: print]
모듈을 만들때 객체 형식을 사용하지 않으면 하나밖에 모듈로 만들 수 없다.
객체 형식을 사용하지 않았을 때 모듈을 불러오면 모듈은 바로 module.exports를 했던 값이다.
Module 예제
Code - Var
const odd = '홀수입니다';
const even = '짝수입니다';
module.exports = {
odd,
even,
};
Code - Func
const { odd, even } = require('./02-var.모듈로 만들기');
function checkOddOrEven(num) {
if (num % 2) { // 홀수면
return odd;
}
return even;
}
module.exports = checkOddOrEven;
Code - Index
const { odd, even } = require('./02-var.모듈로 만들기');
const checkNumber = require('./02-func.모듈로 만들기');
function checkStringOddOrEven(str) {
if (str.length % 2) { // 홀수면
return odd;
}
return even;
}
console.log(checkNumber(10));
console.log(checkStringOddOrEven('hello'));
💡 Module을 불러올 때는 require 함수를 사용함.
Module 생성의 다른 방법
Code - Module
exports.hi = 'Hello, World!';
exports.print = (name, str) => {
console.log(`${name}, ${str}`)
}
Code - Index
const Module = require('./Module.js');
console.log(Module.hi);
console.log(Module.print);
Console
Hello, World!
[Function: print]
💡 exports를 사용하면 객체 형식을 사용하지 않아도 여러 가지 변수나 함수 등을 만들 수 있다.