minstudio

모듈 시스템의 이해 (CommonJS vs ES Modules)

수천 줄의 코드를 한 파일에 적으면 관리가 불가능합니다. 기능별로 여러 파일로 쪼개고 조립하는 것을 모듈 시스템이라고 합니다.

📄
math.js
export add()
➡ import ➡
⚙️
app.js
add(1, 2)

📦 require vs import

Node.js는 역사적으로 require()를 써왔지만, 최근 프론트엔드(React, Vue)와의 통일성을 위해 import/export를 사용하는 빈도가 압도적으로 높아지고 있습니다. package.json에 "type": "module"을 추가하면 Node에서도 import를 쓸 수 있습니다!

// 1. 과거의 방식: CommonJS (Node.js의 기본)
const math = require("./math.js"); // 가져오기
module.exports = { add, multiply }; // 내보내기

// 2. 최신 방식: ES Modules (요즘 실무 트렌드)
import { add } from "./math.js"; // 가져오기
export const multiply = (a, b) => a * b; // 내보내기
모듈 시스템의 이해 (CommonJS vs ES Modules) | Minstudio