allowJS : true
를 추가한다.{
...
"compilerOptions" : {
...
"lib" : ["ES6", "dom"], //<-- ES6를 지원하는 서버와, DOM 즉 브라우저 환경에서 코드를 실행시킬거라는 의미
"allowJs" : true
}
}
@ts-check
아래 코멘트를 작성하면 → JS 파일의 코드에 대해서도 타입을 지정할 수 있다./* ---- JS 파일 ---- */
//@ts-check
//*
* Initializes the project //함수에 대한 설명
* @param {object} config
* @param {boolean} config.debug
* @param {string} config.url
* retuns boolean
*/
export function init(config) {
return true;
}
이는 매우 혁신적인 방법인데, 만약 여러 사람과 협업을 하거나, 기존에 있는 JS 파일을 TS 프로젝트에서 import 해서 사용하고 싶다면 → 기존 JS 코드를 모두 TS 코드로 바꿀 필요 없이 위와 같이 코멘트만 작성하면 JS 코드에 대해서도 타입을 지정할 수 있고 && 타입 스크립트의 보호도 받을 수 있다.
npm i -D ts-node
ts-node
를 설치하면 빌드 없이 타입 스크립트를 실행할 수 있다.DefinitelyTyped에서 해당 모듈/패키지 있는지 확인
@types/패키지 설치
npm i -D @types/패키지 이름
//ex)expess라면
npm i -D @types/express
→ 설치하는 것만으로도 해당 패키지의 모든 타입에 대해 정의한 것을 사용할 수 있다.