2017-02-18 2 views
1

typescript에서 패키지를 만들고 tsc 도구를 사용하여 선언 파일을 생성하지만 다른 프로젝트 유형에서이 패키지를 가져 오려고하면 정의가 자동으로로드되지 않고 유형 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까? 설치하거나 타이핑을 사용할 필요가없는 모듈이 있지만 사용 방법을 찾을 수 없다는 것을 알고 있습니다.TypeScript 패키지 생성 선언 파일

EDIT - 세부 정보 : tsc --declarations 명령을 사용하여 선언 파일을 생성하고 모두 js 파일을 사용하여 직접 빌드 디렉토리로 이동합니다. 나는 내 package.json에서 {"types": "./build/index.d.ts", "typescript.tsdk": "./build"}을 가졌지 만 효과가없는 것 같습니다. 다음은 몇 가지 예는 다음과 같습니다

빌드/index.d.ts는

import Network from './network'; 
import Queue from './queue'; 
export { Queue, Network, Jobs }; 

빌드/네트워크/index.d.ts

import Address from './address'; 
import Socket from './socket'; 
import Packet from './packet'; 
export { Address, Socket, Packet }; 
declare var _default: { 
    Address: typeof Address; 
    Socket: typeof Socket; 
    Packet: typeof Packet; 
}; 
export default _default; 

빌드/네트워크/packet.dt.ts

export default class Packet { 
    private params; 
    static fromString(str: string): Packet; 
    toString(): string; 
} 
+0

당신의 d.ts 파일의 모양, 넣는 위치, 참조하는 방법에 대한 자세한 내용을 입력하십시오 –

+0

좋아요, 제 질문을 편집하고 선언 파일의 예제를 추가했습니다. –

+0

좋아, 어떻게 그들을 참조합니까? 어떤 오류가 발생합니까? –

답변

1

기본 내보내기를 사용하고 패키지가 node_modules 안에 있으므로 다음과 같이 가져올 수 있습니다.

import Socket from "core/build/network/socket"; 

class Abc extends Socket { 
    constructor() { 
     super(); 

     this.connect('address'); 
    } 
} 

let s = new Socket(); 
s.connect('address'); 
관련 문제