런타임에 필요한 코드
import { add } from "./math";
add(1, 2);
함수, 클래스, 상수처럼 실행 중 참조되는 값은 번들에 남습니다.
import 문은 모두 비슷해 보이지만 런타임에 남는 값 의존성,
컴파일 때 사라지는 타입 의존성, 가져오는 순간 실행되는 효과가 서로
다릅니다.
import { add } from "./math";
add(1, 2);
함수, 클래스, 상수처럼 실행 중 참조되는 값은 번들에 남습니다.
import type { User } from "./user";
const value: User = data;
타입 전용 import는 자바스크립트 출력에서 제거되어 실행 의존성을 늘리지 않습니다.
import "./polyfills"; startApp();
전역 설정, 폴리필, 스타일처럼 실행 순서가 의미 있는 파일에만 사용합니다.
공유 타입은 import type으로 낮추고, 실제 값 의존성은 한
방향으로 흐르게 정리합니다.
기능 경계를 기준으로 배럴 파일이나 paths 별칭을 쓰되,
공개 API가 흐려지지 않게 유지합니다.
이 import가 실행 결과에 필요한지, 타입 검사에만 필요한지, 부수 효과를 의도하는지 먼저 구분합니다.