Programming/Script

[Node.js] 노드에서 모듈 사용하기 (exports / module.exports / 외장 모듈)

728x90
반응형

🍳 모듈

별도의 파일로 분리된 독립 기능의 모음

exports 전역 객체를 통해 모듈을 불러와 사용 (require() 메서드 이용)

 

기존 코드

let calc = {};
calc.add = function(a, b) {
    return a + b;
}
console.log(calc.add(10, 10));

// 결과
20

 

exports

속성을 추가할 수 있어 여러 개의 변수나 함수를 각각의 속성으로 추가할 수 있음

(파일이 없다면 해당 이름의 폴더를 찾은 후 index.js 파일을 불러옴)

// calc.js (모듈 파일 분리)
// exports 객체에 add 속성 추가
exports.add = function(a, b) {
    return a + b;
}
// main.js
// require() 함수를 호출해 calc.js 모듈 파일을 불러옴 (확장자 제외한 이름 사용)
let calc = require('./calc');
console.log(calc.add(10, 10));

// 결과
20

 

module.exports

하나의 변수나 함수 또는 객체를 직접 할당

// calc.js (모듈 파일 분리)
let calc = {};
calc.add = function(a, b) {
    return a + b;
}
module.exports = calc;
// main.js
// 객체가 그대로 할당
let calc = require('./calc');
console.log(calc.add(10, 10));

// 결과
20

 

외장 모듈

다른 사람이 만든 모듈을 불러와 실행 (상대 패스가 아닌 모듈의 이름만 지정해 불러옴)

npm 패키지를 사용해 다른 사람이 사용할 수 있도록 공유

package.json 파일

설치한 패키지의 정보가 들어 있어 한 번에 설치 가능한 파일

npm init: 명령 실행 시 파일 생성

npm install: package.json 파일만 다른 PC로 옮긴 후 명령을 실행하면 모든 패키지 설치 (dependencies 속성 값 참조)

 

 

참고 서적
Do it! Node.js 프로그래밍

 

728x90
반응형