목차
@types란
타입스크립트 프로젝트에서 외부 라이브러리의 타입 정보를 제공하기 위해 사용되는 타입 정의 패키지의 표준 네임스페이스.
타입스크립트는 타입 정보를 포함하지 않는 일반 자바스크립트 라이브러리로도 사용할 수 있는데, 이 때 타입 정보를 @types 패키지로 별도로 제공하여 타입 안정성을 유지할 수 있게 해준다.
@types의 역할과 사용 방식
1. 타입 정의 제공
- @types 패키지는 DefinitelyTyped라는 오픈 소스 프로젝트를 통해 관리되며, 타입스크립트 커뮤니티가 유지 보수한다.
- @types 네임스페이스 하위에는 유명한 자바스크립트 라이브러리들의 타입 정의 파일들이 들어 있으며, 라이브러리명과 동일한 이름을 가진다.
- 예를 들어, lodash라는 자바스크립트 라이브러리를 타입스크립트에서 사용할 때, @types/lodash 패키지를 통해 lodash의 타입 정보를 가져올 수 있다.
2. 자동 타입 로딩
- 타입스크립트 컴파일러(tsc)는 기본적으로 node_modules/@types 폴더를 타입 정의가 위치한 루트로 간주하여, 별도의 설정 없이도 자동으로 타입 정보를 로드한다.
- 예를 들어, @types/jquery를 설치하면 프로젝트의 코드에서 jQuery를 사용할 때 타입 정보와 자동 완성 기능을 사용할 수 있다.
3. 설치 및 사용 방법
- @types 패키지는 개발 종속성으로 추가하며, 보통 npm이나 yarn을 통해 설치한다.
npm install --save-dev @types/lodash
- 설치 후, @types/lodash는 node_modules/@types/lodash/index.d.ts 파일에 위치하며, 타입스크립트가 이를 참조하여 lodash의 타입 정보를 제공한다.
4. 타입 포함 여부 확인
- 일부 라이브러리는 타입 정보를 자체적으로 포함하고 있어 @types 패키지를 설치할 필요가 없다.
- 예를 들어, axios같은 라이브러리는 타입 정의를 자체 패키지에 포함하고 있다. 이런 경우 @types 패키지가 따로 존재하지 않는다.
'타입스크립트(TS)' 카테고리의 다른 글
엠비언트 타입(Ambient Type)(.d.ts) (0) | 2024.11.02 |
---|---|
[TS] 커스텀 유틸리티 타입 활용하기 (0) | 2024.07.28 |
[TS] index.d.ts 알아보기 (0) | 2024.06.16 |