[JS 파일에서 export를 하는 기능들을 가져오는 경우]
1. d.ts 는 결국 JS 파일의 코드를 타입 정의 해주는 것이다.
2. ~.d.ts 는 ~.js 파일에서 export하는 정보들의 타입을 정의하는 약속으로 되어있다.
.d.ts 파일의 코드로 이러한 기능을 구현하는 건 다음과 같다.
declare module "myPackage" {
}
myPackage라는 js 파일의 정의라는 뜻.
이 declare 안에 모든 콜 시크니처만 작성해준다. 아래가 예시
interface Config{
}
declare module "myPackage"{
function init(config : Config) : boolean;
}
위와 같은 방식은 node_modules에 설치된 자바스크립트 모듈을 어떻게 사용하는지에 대해 알아본것
[JS 파일 자체를 경로로 찍어서 가져오는 경우]
0. 먼저 편한 방법은 tsconfig 에서
"compilerOptions":{
"allowJS": true
}
한 줄 추가해주는 것.
1. 다른 방법은 JS 파일에서 TS 보호를 받게 해주는 것. JSDoc 이라는 기능이다.
// @ts-check
맨 윗줄에 이거 한 줄 추가하고 시작한다.
/**
*함수에 대한 설명
*@param {string} name
*@returns {void}
*/
함수 위에 이처럼 정해진 주석 형식으로 정보를 추가한다.
[Definitely Typed로 타입스크립트로 작성되지 않은 라이브러리나 패키지 중, 다른 사람이 만들어 둔 .d.ts를 import 하는 방법]
https://github.com/DefinitelyTyped/DefinitelyTyped
GitHub - DefinitelyTyped/DefinitelyTyped: The repository for high quality TypeScript type definitions.
The repository for high quality TypeScript type definitions. - GitHub - DefinitelyTyped/DefinitelyTyped: The repository for high quality TypeScript type definitions.
github.com
1. 위 깃허브에서 있는 npm 패키지나 라이브러리인지 확인해본다.
2. 있다면
npm i -D @types/패키지명
으로 설치해준다.
'텍스트 어드벤처 게임 프로젝트 > typescript' 카테고리의 다른 글
4 typescript 챌린지에서 배우는 기본 이론 정리 (0) | 2023.04.04 |
---|---|
3 typescript로 NodeJS를 사용할 때 (0) | 2023.03.15 |
2 타입 정의와 라이브러리 + 모듈이 없는 경우 (0) | 2023.03.08 |
1 typescript의 생성자 초기화에 관한 질문 (0) | 2023.03.07 |
0 공부하는 이유 (0) | 2022.09.21 |