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
'Server > node.js' 카테고리의 다른 글
[node.js] 기본모듈 (0) | 2021.03.03 |
---|---|
[node.js] 전역객체 (0) | 2021.03.02 |
[node.js] REPL (0) | 2021.03.02 |
[node.js] 확장모듈 (0) | 2020.06.22 |
[node.js] 설치및 구동 (0) | 2020.06.21 |