블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
모듈을 사용하는 이유?
모듈은 쉽게 말하면 '부품'이라고 생각하면 됩니다. 부품처럼 각 기능별로 모듈화하여 파일을 만들고, 필요한 파일만 불러와서 프로그램을 만들 수 있습니다.
한 파일로 작성된 코드는 보기에도 복잡하고 유지 보수를 하기도 어려운 단점이 있습니다. 하나의 파일을 기능별로 나눠, 여러 파일로 관리를 하게되면 유지보수하기에 편리하고 복잡성이 낮아집니다.
얻을 수 있는 효과?
- 자주 사용되는 코드를 별도 파일로 모듈화하여, 재활용성을 높일 수 있음
- 모듈로 나눠서 관리하게되면, 관련된 파일만 수정하면 됨
- 필요한 로직만 로드하기 때문에 메모리 낭비를 줄일 수 있음
모듈 표준
모듈 표준에는 여러가지가 있지만, 본 글에서는 아래 2가지를 소개합니다.
- CommonJs: Node.js에서 채택한 module 표준 (CJS라고 부르기도 함)
- ESM: ECMAScript에서 채택한 module 표준
CommonJs (CJS)
CJS에서는 import를 할때는 require 키워드를, export 할때는 module.exports = {} 를 사용합니다.
math.js
const add = (x, y) => x + y;
const mux = (x, y) => x * y;
module.exports = {
add,
mux,
};
index.js
const { add, mux } = require("./math");
console.log(add(1, 3)); // 4
console.log(mux(2, 3)); // 6
위와 같이 작성하고 아래 node 명령어로 index.js 를 실행합니다.
node index.js
ESM
ESM에서는 import를 할때는 import ~ from ~, export 할때는 export 를 사용합니다.
esm을 사용하려면 node 패키지 중 esm을 설치해야합니다.
npm install esm
math.js
const add = (x, y) => x + y;
const mux = (x, y) => x * y;
export { add, mux };
index.js
import { add, mux } from "./math";
console.log(add(1, 3));
console.log(mux(2, 3));
그리고, 아래 명령어로 실행합니다.
node -r esm index.js
반응형
'Frontend > nodejs' 카테고리의 다른 글
MAC OS에 node.js 설치하기 (사이트에서 설치 또는 nvm 설치) (7) | 2021.12.22 |
---|