2017-04-26 15 views
0

VS2015でのTypeScript 2.2の操作派生クラスを持つ基本クラスがあります。TypeScriptの継承 - "クラスは基本クラスの後に宣言する必要があります"

コンパイル時に「クラスはその基本クラスの後に宣言する必要があります」というエラーが表示されます。それぞれのクラスは独自のファイルになっているので、アルファベット順にコンパイルされているように見えます。ベースクラスを "aa"に改名してアルファベット順に並べると、ソリューションがコンパイルされるからです。

すべてのクラスを1つのファイルにまとめることができましたが、その場合は順序を制御できますが、派生したクラスをすべて同じファイルに入れる必要はありません。

私はここで何か間違っているのですか?最も低い依存関係を最初にコンパイルするべきではありませんか?

+0

コードを表示できますか?また、tsconfig? amdまたはcommonjsを使用しているモジュールはどれですか? –

答えて

1

コンパイラは、発行されたコードの順序を変更しません。ファイルは、コマンドラインで指定された順番で、そして /// <references>を解決して発行されます。派生クラス定義をベースの後に移動するか、派生クラスがベースクラスのファイルを指しているファイルに/// <reference>タグを追加して、正しい放射順序を確実にすることができます。

+0

素晴らしい!基本クラスへの参照を追加すると問題が解決しました - ありがとう –

関連する問題