3rd Party 라이브러리 사용하기

3rd Party 라이브러리 사용하기

JavaScript는 jQuery, Angular, lodash 등 많은 3rd Party 라이브러리를 가지고 있는데, 이들 라이브러리들의 타입들을 TypeScript에서 불러 사용할 수 있다. TypeScript에서 Declaration File (*.d.ts 파일)은 기존에 존재하는 JavaScript 라이브러리의 구조와 골격을 서술한 파일으로서, 이를 사용하면 TypeScript에서 라이브러리의 타입 정보를 사용할 수 있게 된다. 라이브러리의 타입 정보를 활용함으로서 코딩시 인텔리센스 기능이나 에러 체킹 등을 쉽게 할 수 있다.

DefinitelyTyped는 수많은 3rd Party 라이브러리들에 대한 TypeScript Declaration File들을 호스팅하는 github 상의 레파지토리이다. DefinitelyTyped는 주로 커뮤너티에 의해 관리되지만, TypeScript 팀 또한 이를 지원하고 있다. DefinitelyTyped에서 라이브러리의 Declaration File를 다운받아 설치하면, JavaScript 라이브러리를 마치 TypeScript 라이브러리 인 것 처럼 사용할 수 있다. 즉, 해당 라이브러리의 타입 정보를 활용하여 TypeScript 타입 체킹 기능을 사용할 수 있는 것이다.

예를 들어, lodash 라는 JavaScript 유틸러티 라이브러리를 TypeScript에서 사용해 보자. 아래와 같이 "npm install lodash"를 사용하면 먼저 lodash 라이브러리를 설치하고, 다음으로, lodash 라이브러리를 TypeScript에서 사용할 수 있도록 "npm install @types/lodash" 를 실행한다.

    npm install lodash --save

    npm install @types/lodash

아래 예제는 lodash/random을 TypeScript에서 사용한 예이다.

    import random from 'lodash/random';

    let num = random(1024);
    console.log(num); 

위에서 lodash 라이브러리의 Declaration File을 설치하였으므로, 아래 그림과 같이 TypeScript에서 인텔리센스 기능을 사용할 수 있다.

참고: 만약 인텔리센스가 표시되지 않고, esModuleInterop와 관련된 경고가 나오면, tsconfig.json에서 아래와 같이 esModuleInterop 옵션을 설정한다.

    {
        "compilerOptions": {
            "esModuleInterop": true
        }
    }
본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.