[typescript] 모듈의 의존성 관리 방법

본 문서에서는 TypeScript에서 모듈 간 의존성을 관리하는 방법에 대해 알아보겠습니다.

1. 모듈 시스템

TypeScript에서는 ES6 이상의 표준 모듈 시스템을 사용하여 코드를 구성합니다. ES6 모듈 시스템은 importexport 키워드를 사용하여 모듈 간의 의존성을 관리합니다.

예를 들어, 다음은 moduleA 모듈에서 moduleB 모듈을 import 하는 예시입니다:

// moduleB.ts
export function greet(name: string): string {
  return `Hello, ${name}!`;
}

// moduleA.ts
import { greet } from './moduleB';

console.log(greet('World')); 

위 코드에서 moduleA에서는 moduleB 모듈을 import하여 해당 모듈의 greet 함수를 사용할 수 있습니다.

2. 외부 라이브러리 의존성 관리

TypeScript에서 외부 라이브러리를 사용할 때, 해당 라이브러리의 타입 정의 파일을 함께 사용함으로써 모듈 간의 의존성을 관리할 수 있습니다. 이를 위해 @types라는 노트 패키지를 사용합니다.

예를 들어, 다음은 lodash 라이브러리를 사용할 때의 예시입니다:

npm install lodash
npm install @types/lodash

이후에는 import를 통해 lodash 라이브러리를 TypeScript 프로젝트에서 사용할 수 있습니다.

3. 모듈 별칭(alias)

복잡한 프로젝트에서는 모듈의 상대적인 경로를 다루기 어렵기 때문에, 모듈의 별칭(alias)을 사용하여 이를 해결할 수 있습니다.

예를 들어, tsconfig.json 파일에서 다음과 같이 설정할 수 있습니다:

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@components/*": ["src/app/components/*"]
    }
  }
}

위 예시에서, @componentssrc/app/components 경로를 대체하는 별칭으로 사용됩니다.

의존성을 관리할 때, 이러한 모듈 별칭을 적극적으로 활용하여 보다 유연하고 유지보수하기 쉬운 코드를 작성할 수 있습니다.

이상으로, TypeScript에서의 모듈 간 의존성 관리 방법에 대해 알아보았습니다. 자세한 내용은 TypeScript 공식 문서를 참고하시기 바랍니다.