7장 모듈 시스템

모듈 경계와 의존성 흐름

모듈은 파일 단위로 공개할 값과 가져올 값을 분리해 전역 오염을 줄이고 코드 의존성을 명확하게 만듭니다.

01

Export

모듈 내부에서 외부에 제공할 함수, 객체, 상수를 명시합니다.

02

Import

필요한 모듈에서 공개된 이름을 가져와 사용합니다.

03

범위

모듈 파일은 자체 스코프를 가져 전역 변수 충돌을 줄입니다.

04

Load

브라우저는 type="module"로 ESM 파일을 의존성 순서에 맞게 로드합니다.

named export

여러 값을 이름으로 내보내고 필요한 값만 선택해 가져옵니다.

default export

모듈의 대표 값을 하나 정해 가져오는 쪽에서 이름을 붙입니다.

CommonJS

Node.js의 require와 module.exports 흐름을 ESM과 비교합니다.

순환 의존

서로 가져오는 구조는 초기화 순서 문제를 만들 수 있어 경계를 재검토합니다.

공개 API·내부 함수 분리

한 파일이 너무 많은 책임을 가지면 공개 API와 내부 함수를 나눕니다.

모듈 경계와 의존성 실수 방지

상대 경로, 확장자, 기본 내보내기와 이름 내보내기 문법을 혼동하지 않습니다.

모듈 경계와 의존성 흐름

계산 함수 모듈을 export하고 화면 파일에서 import해 사용합니다.