.d.ts
.d.ts 는 javascript 파일을 typescript파일로 변환해서 사용가능하게 해준다.
우선, Node.js 프로젝트를 빠르게 생성한다.
npm init -y
이제 tsconfig.json을 생성하여 TypeScript 프로젝트로 변환한다.
tsc --init
tsconfig.json을 열어서 아래의 옵션을 주석 해제하여 true로 설정한다.
"allowJs": true // TypeScript 프로젝트에 JavaScript 파일 허용 여부
"checkJs": true // JavaScript 파일 타입 체크 여부
TypeScript에서 사용하고 싶은 커스텀 JavaScript 라이브러리(test.js)를 만든다.
/**
* @param {number} a
* @param {number} b
* @returns {number}
*/
export function add(a, b) {
return a + b;
}
위의 주석문은 JSDoc이라고 한다. JSDoc은 API의 시그니처 (인자, 리턴 타입)를 설명하는 HTML 문서 생성기이다. JSDoc으로 자바스크립트 소스코드에 타입 힌트를 제공할 수 있다. 이제, JSDoc으로 타입 힌트가 제공된 test.js의 .d.ts 파일을 만든다. 다음의 명령어를 복사 + 붙여넣기를 해서 터미널에서 실행해준다.
npx tsc test.js --declaration --allowJs --emitDeclarationOnly --outDir types
types/test.d.ts 파일을 확인하면 다음과 같이 생성이 되어 있다.
/**
* @param {number} a
* @param {number} b
* @returns {number}
*/
export function add(a: number, b: number): number;
test.js 파일을 참조할 foo.ts 파일을 새로 만든다.
import { add } from "./test";
console.log(add(1, 2));
이제 foo.ts 파일을 실행시켜 보자
npx ts-node foo.ts
Last updated