2016-10-21 4 views
3

현재 새 @types 접근 방식으로 소비되어야하는 두 라이브러리의 TypeScript 정의 파일을 작성하고 있습니다. 둘 다 UMD 패턴을 따른다. 모듈로 사용하거나 <script> 태그로 참조 할 수 있습니다.TypeScript 2에서 UMD 모듈 정의를 늘리는 방법

은 첫 번째 같을 것이다 소비의 두 가지 방법부터 작성하는 똑바로 앞으로이었다

import { AccessManager } from 'twilio-common'; 
const manager = new AccessManager('XXXXXXXX'); 

또는

const manager = new Twilio.AccessManager('XXXXXXXX'); 

내가 타이프 2의 새로운 export as namespace 기능을 사용하여이 문제를 해결 :

import { Promise } from 'es6-promise'; 

export as namespace Twilio; 

export class AccessManager { 
    constructor(initialToken: string); 
    identity: string | null; 
    // omitted 
} 

이제 두 번째 모듈의 경우 좀 더 까다 롭고 왜 여기에 글을 쓰 느냐. 모듈을 통해

소비 : 당신이 라인 등을 사용하여 내보낼 두 번째 (고화질) 파일에 수출하는 것을 볼 수 있습니다 그래서

const manager = new Twilio.AccessManager('XXXXXXXX'); 
const client = new Twilio.IPMessaging.Client('XXXXXXXX'); 

:

import { AccessManager } from 'twilio-common'; 
import { Client } from 'twilio-ip-messaging'; 

const manager = new AccessManager('XXXXXXXX'); 
const client = new Client(manager); 

소비 태그 <script>를 통해 :

export as namespace Twilio.IPMessaging; 

그러나 작동하지 않습니다. 이후 적절한 해결책이 무엇인지 알 수 없으므로 StackOverflow를 통해 조언을 구하고 있습니다.

미리 감사드립니다.

도미니크는

답변

2

또한 글로벌 네임 스페이스로 IPMessaging 및 수출 "Twilio"의 하위 네임 스페이스와 twilio 네임 스페이스를 선언 할 수 있습니다.

Twilio를 모듈의 가져올 대상으로 표시합니다 (

).
관련 문제