nodeJS - module


모듈(module) : 특정한 기능을 하는 함수나 변수들의 집합.

  • 모듈은 자체로도 하나의 프로그램이면서 다른 프로그램의 부품으로도 사용 및 재사용 가능(자바스크립트에서 코드를 재사용하기 위해 함수로 만드는 것과 비슷) 보통 파일 하나가 모듈 하나가 되며, 파일별로 코드를 모듈화 할 수 있어 관리하기 편하다.

모듈 예시

  • var.js : 변수 모듈.
const odd = '홀수';
const even = '짝수';

// 모듈 대입 방법 : module.exports = 함수, 객체, 변수 대입 가능
// module.exports에 변수(odd,add)를 담은 객체 대입
// 변수들을 모아둔 module.
module.exports = {
    odd,
    even,
}

이제 위 JS 파일은 모듈로서 기능하며, 다른 파일에서 이 파일을 불러오면 module.exports에 대입된 값을 사용 가능

  • func.js : 함수 모듈.
// 모듈 불러오기
const { odd, even } = require('./var');
// require 함수는 모듈을 불러오는 함수이다.
// require('모듈의 경로')
// 다른 폴더에 있는 다른 파일도 모듈로 사용 가능 (.js / .json) 확장자 생략 가능

// 홀짝 판단하는 함수 선언
function checkOddOrEven(num) {
    // 만약 num이 홀수면, (0이 아닌 정수일때 true이므로)
    if (num % 2) {
        return odd;
    }
    return even;
}

// 다른 모듈(var.js)을 사용하는 파일을 다시 모듈(func.js)로 만들 수 있다.
module.exports = checkOddOrEven;
// 모듈 하나가 여러개의 모듈을 사용가능하다.
  • index.js : 변수 모듈과 함수 모듈을 사용하는 모듈
// 모듈 불러오기
const { odd, even } = require('./var');
// 모듈로부터 값을 불러올때 변수의 이름을 다르게도 저장 가능. 
const checkNumber = require('./func');

function checkStringOddOrEven(str) {
    // 만약 num이 홀수면, (0이 아닌 정수일때 true이므로)
    if(str.length % 2){
        return odd
    }
    return even;
}

console.log(checkNumber(10));
console.log(checkStringOddOrEven('hello'));

ES2015 모듈

  • var.js
// 모듈 불러오기
import {odd, even} from './var';

function checkOddOrEven(num) {
    if (num % 2){
        return odd;
    }
    return even;
}

// 모듈 이름 설정
export default checkOddOrEven;





© 2020.11. by creamer

Powered by CREAMer