0

定義 (base.d.ts) を持つクラスと、定義を持たず、同じ名前空間を持つ単なる Typescript クラス (EventDispatcher.ts) であるクラスを使用すると、問題が発生します。

以下は有効な構文ではないため、全体として、これらのエラーの間で立ち往生しています。

declare var Acme.Ajax: AcmeAjaxInterface;

私がやろうとしていること:

私のbase.d.tsファイルには以下が含まれています:

interface AcmeInterface{
    Ajax: AcmeAjaxInterface;
}

interface AcmeAjaxInterface{
    call(...parameters: any[]);
}

私の EventDispatcher.ts には以下が含まれます:

module Acme {
    expost class EventDispatcher{}
}

次のファイルで両方を使用しようとすると:

///<reference path="base.d.ts" />
///<reference path="EventDispatcher.ts" />
Acme.Ajax.Call():

Acme 変数が宣言されていないため、エラーが発生します。

TS2094: The property 'Ajax' does not exist on value of type 'Acme'.

ただし、次を追加すると:

declare var Acme : AcmeInterface;

エラーが発生します:

TS2000: Duplicate identifier 'Acme'.

これらのエラーの発生を防ぐ方法は何ですか?

4

1 に答える 1