2017-05-09 17 views
1

グローバル・インタフェースを定義するプロジェクト用の.d.tsファイルを作成しようとしています。 しかし、私は、その定義ファイルの中で非グローバルなライブラリタイプを使用することに問題があります。 特に私が参照しようとしているRxJは私のためには機能しません。プロジェクトの.d.ts定義ファイルで@types定義を使用する

RxJのタイプをインポートするためにトリプルスラッシュリファレンスタグを使用していましたが、これはうまくいきませんでした。

/// <reference types="rxjs" /> 

interface IUserService { 
    user$: rxjs.Observable<IUser>; 
} 

答えて

2

私がやりたいことへの解決策が見つかりました:私は戻ってグローバル名前空間に取得することができたdeclare global { }を使用して

import RxJs from 'rxjs'; 

declare global { 

    interface IUserService { 
     user$: RxJs.Observable<IUser>; 
    } 

} 

を。 Typescriptは、このページの末尾にわずかに記載されている便利な指示文には、実際には不足しています。https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation

関連する問題