타입스크립트를 사용하는 사람이라면, 어느 라이브러리 내부에서 다음과 같은 코드들을 본 적이 있을 것이다.
/// <reference path="..." />
/// <reference types="..." />
/// <reference lib="..." />
이는 삼중 슬래시 지시문이라고 한다.
삼중 슬래시 지시문은 단일 XML 태그를 포함하는 단 한 줄짜리 주석으로, 주석의 내용은 타입스크립트 컴파일러 지시문으로 사용된다.
삼중 슬래시 지시문의 내용은 단일 파일에서만 유효하며, 이는 파일의 최상단에 위치해야 한다. 그렇지 않으면, 일반 주석으로 인식된다.
/// <reference path="..." />
- 가장 일반적인 삼중 슬래시 지시문으로, 파일간의 의존성을 나타낸다.
- 컴파일러에 해당 파일을 포함하도록 지시한다.
- 입력 파일 전처리 (Preprocessing input files) 과정으로 추가한 파일이 컴파일에 포함된다.
/// <reference types="..." />
- 이는 패키지 의존성을 설정하는데, import와 유사하다고 할 수 있다.
- 이 지시어는 .d.ts 파일을 포함할 때 사용한다.
- 예를 들면, 노드의 내장 메서드를 사용할 때 컴파일 시 .d.ts를 생성하면 /// <reference types="node" /> 가 .js 파일 최상단에 추가된다.
- 여기서 /// <reference types="node" />는 @types/node/index.d.ts 를 포함하는 것을 의미한다.
/// <reference lib="..." />
- 이는 명시적으로 내장 lib 파일을 포함할 때 사용한다.
- 내장 타입에 의존하는 선언 파일(.d.ts) 작성자에게는 트리플-슬래시-참조 lib 지시어를 사용하는 것이 권장된다.
🫖 내장 타입은 DOM APIs 또는 Symbol이나 Iterable과 같은 내장 JS run-time 생성자를 의미한다.
- 예를 들어, 컴파일에서 파일 중 하나에 /// <reference lib="es2017.string" />를 추가한 것은 --lib es2017.string으로 컴파일하는 것과 같다. (즉, 이 파일에서는 es2017의 string 규칙을 따를 수 있다는 의미가 되는 것 같다)
https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
Documentation - Triple-Slash Directives
How to use triple slash directives in TypeScript
www.typescriptlang.org
'TypeScript' 카테고리의 다른 글
타입스크립트 Type Aliases & Interfaces 알아보기 (0) | 2023.05.09 |
---|---|
타입스크립트 에러 해결 (단항 더하기 연산자) : The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.ts(2362) (0) | 2023.04.04 |
typescript Record 타입 사용하기 (0) | 2023.03.29 |
Typescript Generics와 Keyof, Mapped Types 사용해보기 (0) | 2023.03.10 |
TypeScript 시작하기 & React에서 Typescript 정리 (0) | 2022.11.10 |