[vue/typescirpt] Cannot resolve definitions for module 'xxx'

typescript 프로젝트에서 외부라이브러리를 import 할때 .d.ts 파일이 없을경우 생기는 오류. 

왠만한 라이브러리들을 typescript에 대응하여 .d.ts 파일을 제공하지만 오래된 라이브러리나 관리가 안되는 라이브러리에 경우 에러가 발생한다 이럴때는 직접 .d.ts 파일을 생성해주면 된다. 

 

예를 들어 vue-json-pretty 라는 라이브리를 사용한다고 하면

types 폴더 밑에 vue-json-pretty.d.ts 라는 파일을 만들고 아래와 같이 선언을 해주면 된다. 

declare module 'vue-json-pretty' {
    import {Component} from 'vue/types/options'
    const VueJsonPretty: Component
    export default VueJsonPretty
}

 

.d.ts 파일은 타입스크립트 선언 파일 d.ts는 타입스크립트 코드의 타입 추론을 돕는 파일입니다.