2017-11-29 22 views
1

DefinitelyTyped의 각 선언 된 유형이 관련 JavaScript 라이브러리에 어떻게 바인딩되어 있는지 궁금합니다. 예 : @type/lodash은 js 라이브러리 lodash에 어떻게 링크되어 있습니까?DefinitelyTyped는 선언 파일을 JavaScript 라이브러리에 어떻게 바인딩합니까?

그것은 우리가 고궁 박물원 패키지의 package.json"type" 태그를 추가 할 수 있습니다 수동으로 표시,하지만 나는 등, angular, ace을 포함, 여러 자바 스크립트 구성 요소에서 검색 한 후 그렇게 보지 않았다.

TypeScript에 익숙한 사람이면 누구나 트릭을 말할 수 있습니까? 감사!

답변

0

기본 컴파일러 옵션입니다. tsconfig에서 typeRoots 속성을 설정할 수 있습니다. 기본값으로 node_modules/@types으로 설정되어 있으므로 다운로드 한 모든 유형 정의가 @types 폴더에로드됩니다. package.json의 "유형"속성은 NPM 패키지 곳에는

{ 
    "compilerOptions": { 
     "typeRoots" : ["./typings"] 
    } 
} 

입니다 : (당신은 또한 자신의 typings를 제공해야하는 경우, 예를 들어) 또한 그러므로 당신의 tsconfig.json에서 변경할이 설정을 덮어 쓸 수 있습니다 라이브러리와 함께 유형 정의를 제공 할 수 있습니다. 이렇게하면 typescript 컴파일러가 해당 유형 정의를 찾을 수 있습니다. 많은 라이브러리는 npm 패키지와 함께 이러한 유형 정의를 제공하지 않습니다. 이러한 패킷의 경우 Definetely Typed Repo에서 유형 정의를 다운로드하거나 사용자 정의 유형을 작성해야합니다. Lodash는 분명히 이러한 패키지 중 하나입니다.

+0

와우, 이것은 나에게 좋은 답변입니다! 정말 고맙습니다! – Jize

+0

당신도 환영합니다. 다른 사람이 당신의 질문에 답을했다는 것을 알 수 있도록 자유롭게 답해주십시오 :-). stackoverflow에 오신 것을 환영합니다. – kentor

+0

한 가지 문제. 'package.json' 필드는''types "''''type"'이라고합니다. –