Server/node.js

[node.js] 모듈(Module)

클리엘 2021. 3. 2. 11:51
728x90

node.js에서 모듈은 어떤 파일에 있는 변수나 함수를 다른 파일에서 공유하기 위한 기능을 의미합니다. 여러 개의 js파일이 존재할 때 되도록이면 코드를 중복해서 작성하는 일이 없도록 하기 위한 장치 인 셈입니다.

 

Module기능을 테스트해 보기 위해 우선 다음과 같은 내용으로 sample1.mjs라는 파일을 만듭니다.(확장자가 mjs임에 주의해 주세요.)

let i = 10;
let j = 20;

function sum(i, j) {
	return i + j;
}

변수 i와 j 그리고 함수 sum을 하나 만들었습니다. 위 변수와 sum함수를 외부 파일에 제공하려면 파일에 다음과 같이 export를 통해 내보내려는 변수 이름, 함수 이름 등을 지정하기만 하면 됩니다.

let i = 10;
let j = 20;

function sum(i, j) {
	return i + j;
}

export {
	i,
	j,
	sum
};

위 에제에서는 i, j, sum을 모두 넣어 객체로 만들어 export 하였습니다.

 

그리고 위와 같이 만들어진 모듈을 다른 파일(예제에서는 sample2.mjs)에서 사용하려면 다음과 같이 import ~ from 을 사용해야 가져올 수 있도록 합니다.

import { i, j, sum } from './sample1.mjs';

console.log(i);
console.log(j);

let x = sum(100, 200);

console.log(x);

내보내는 쪽에서 이름을 그대로 받는다면 구조 분해 할당을 통해 바로 가져올 수 있으며 보시는 바와 같이 가져온 변수와 함수를 문제없이 사용하는 걸 확인할 수 있습니다.

728x90