-
타입스크립트에서 /// <reference ... /> 의 의미 (Triple-Slash Directives)TypeScript 2023. 3. 1. 12:50타입스크립트를 사용하는 사람이라면, 어느 라이브러리 내부에서 다음과 같은 코드들을 본 적이 있을 것이다.
/// <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 타입 사용하기 (1) 2023.03.29 Typescript Generics와 Keyof, Mapped Types 사용해보기 (1) 2023.03.10 TypeScript 시작하기 & React에서 Typescript 정리 (1) 2022.11.10