TypeScript Academy · 강의

재내보내기 및 배럴 파일

가져오기 경로를 간소화할 index 파일을 만듭니다.

레슨 2/413개 단계

재내보내기 및 배럴 파일은(는) CoddyKit의 무료 TypeScript Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 TypeScript Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. TypeScript Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

시작하기

배럴 파일(index.ts)은 모듈 내용을 모아 다시 내보냅니다. 디렉터리를 위한 간단한 공개 API를 만들어 사용자가 더 깔끔한 가져오기 경로를 사용하게 합니다.

배럴 파일이란 무엇인가요

배럴은 같은 디렉터리의 모든 항목을 다시 내보내는 index.ts입니다. 사용자는 개별 파일 대신 디렉터리에서 가져옵니다.
// src/models/index.ts (barrel)
export { User } from './user';
export { Product } from './product';
export { Order } from './order';

배럴 사용하기

더 깔끔한 경로를 위해 개별 파일 대신 배럴에서 가져옵니다.
// Before barrel:
import { User } from '../models/user';
import { Product } from '../models/product';

// After barrel:
import { User, Product } from '../models';

export * 와일드카드 다시 내보내기

`export *`을 사용하여 모듈에서 이름이 지정된 모든 내보내기를 다시 내보냅니다.
// index.ts
export * from './utils';
export * from './helpers';
export * from './validators';

다시 내보내면서 이름 바꾸기

다시 내보낼 때 내보내기의 이름을 바꿀 수 있습니다.
export { default as MyButton } from './Button';
export { Button as Btn } from './Button';

타입 전용 다시 내보내기

실행 시 영향 없이 타입을 다시 내보냅니다.
export type { User, UserRole } from './user.types';

기능 모듈을 위한 배럴 파일

대규모 앱의 기능 폴더에는 공개 표면만 노출하는 배럴 파일이 있는 경우가 많습니다.
// features/auth/index.ts
export { AuthProvider } from './AuthProvider';
export { useAuth } from './useAuth';
export type { AuthUser } from './types';

순환 종속성 위험

같은 배럴에 속한 파일들이 index를 통해 간접적으로 서로 가져오면 배럴 파일에서 순환 종속성이 발생할 수 있습니다. 이 점에 유의해야 합니다.

트리 셰이킹과 배럴

최신 번들러(Webpack, Rollup, Vite)는 배럴의 다시 내보내기를 트리 셰이킹합니다. 실제로 사용되는 내보내기만 번들에 포함됩니다.

깊은 배럴과 얕은 배럴

배럴을 중첩할 수 있습니다. 각 하위 디렉터리에 자체 index.ts를 두고, 상위 배럴이 하위 디렉터리의 배럴에서 다시 내보냅니다.
// src/index.ts
export * from './models';
export * from './services';
export * from './utils';

배럴 파일과 TypeScript 성능

지나치게 깊게 중첩된 배럴 파일은 TypeScript 컴파일을 느리게 할 수 있습니다. 대규모 프로젝트에서는 구조를 평탄화하거나 경로 별칭을 대신 사용하는 방법을 고려합니다.

빠른 확인

배럴 파일(index.ts)을 사용할 때의 가장 큰 이점은 무엇일까요?

복습

배럴 파일(index.ts)은 디렉터리에서 다시 내보내어 깔끔한 가져오기 경로를 만듭니다. 대량으로 다시 내보낼 때는 `export *`을, 타입만 다시 내보낼 때는 `export type`을 사용하고, 대규모 프로젝트에서 순환 종속성 위험에 유의해야 합니다.
무료로 시작

AI 튜터와 함께 TypeScript을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
101
레슨
352

자주 묻는 질문

“재내보내기 및 배럴 파일” 강의는 무료인가요?

네 — “재내보내기 및 배럴 파일” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 TypeScript Academy 강의 전체를 잠금 해제할 수 있습니다. TypeScript Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“재내보내기 및 배럴 파일”에서 뭘 배우나요?

가져오기 경로를 간소화할 index 파일을 만듭니다. 브라우저에서 직접 실행하는 실습 코드로 TypeScript Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

TypeScript Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 TypeScript Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“재내보내기 및 배럴 파일” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 TypeScript Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 TypeScript Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. ES 모듈 문법: import 및 export
  2. 재내보내기 및 배럴 파일
  3. 형식 전용 가져오기 및 내보내기
  4. 네임스페이스와 모듈: 현대적인 사용법
← TypeScript Academy(으)로 돌아가기