ES Modules

export와 import 경계

모듈은 내부 구현을 숨기고, 필요한 값만 export해서 다른 파일이 import하도록 만든다.

모듈 경계 설계

module api

내보낼 것

다른 파일이 실제로 써야 하는 함수, 타입, 상수만 export한다.

숨길 것

보조 함수나 임시 값은 파일 안에 두어 변경 여지를 남긴다.

가져올 것

사용 파일은 import로 필요한 이름만 명시해 의존성을 드러낸다.

경로 관리

상대 경로나 alias가 파일 구조와 함께 바뀔 수 있음을 고려한다.

defineexportimportuse
모듈 경계

모듈을 읽을 때는 파일 안 전체보다 export 목록을 먼저 보면 외부에 약속한 표면이 보인다.