ファイルにコンパイルされたタイプスクリプトファイルのセットがありますが*.d.ts
、エラーが発生し続けます:
systems.debug.d.ts(280,41): error TS2094: The property 'Models' does not exist on value of type 'Systems'.
宣言は次のようになります。
declare module Systems.Services.Stuff {
class DefaultHubService {
public Send(entry: Systems.Models.IEntry, successCallback: Function, failureCallback: Function): void;
}
}
これは 280 行目で発生し(systems.debug.d.ts)
、参照するのに苦労しているのは次のとおりです。
declare module Systems.Models {
interface IEntry {
Version: string;
Content: KnockoutObservableString;
DateCreated: KnockoutObservableDate;
CreatorAccountId: KnockoutObservableString;
}
}
これは 239 行目(systems.debug.d.ts)
にあるため、奇妙で、問題の修正方法がわかりません。インターフェイスはサービスの前に含まれているため、Typescript に癖がない限り、私の知識では機能するはずです。誰でもエラーに光を当てることができますか?
== 編集 ==
問題の診断に役立つ場合に備えて、いくつかの追加情報を提供するだけです...
実際の実装は次のようになります。
// Systems/Services/Stuff/default-hub-service.ts
module Systems.Services.Stuff {
export class DefaultHubService {
public Send(entry: Models.IEntry, successCallback: Function, failureCallback: Function): void
{
// Do something here
}
}
}
// Systems/Models/ientry.ts
module Systems.Models {
export interface IEntry {
Version: string;
Content: KnockoutObservableString;
DateCreated: KnockoutObservableDate;
CreatorAccountId: KnockoutObservableString;
}
}
使用するすべての外部参照を含むルート レベルの参照ファイルがあり、これがコンパイル引数内に最初に含まれているため、すべての外部依存関係 (つまり、knockout.d.ts、jquery. d.tsなど)。
私は Typescript 0.9.0.1 を使用しており、ビルド スクリプトから直接 tsc.exe を呼び出してコンパイルしています。最後に、JavaScript出力ファイルがエラーなしで作成されるため、systems.debug.js
正常にコンパイルされますが、宣言フラグを使用すると、エラーをスローするのはd.tsファイルだけです。