"エクスポートモジュール"を複数のファイルにまたがることさえ可能かどうかはわかりません。私は、ファイルContact.tsている場合複数のAMDファイルにモジュールを広げる方法は?
:次に
// file Contact.ts
export module Contacts {
export class Contact {
...
}
}
と別のContactView.ts
// file ContactView.ts
export module Contacts {
export class ContactView {
model: Contact; // <--- is not recognized
}
}
をTSCは、Contactクラスを認識していません。あなたが見ることができるように、ContactとContactViewは同じモジュール内に存在すると宣言され、仕様に従って動作するはずです。
私はrequire.jsとAMDパターンを使用するコンポジットアプリケーションを構築していますので、私は "export module"宣言を使用しなければなりません。
「先行宣言」やトリッキーな「インポート」を行うべきですか?
アドバイスありがとうございます。
EDIT:現在、インポートによって各モジュールを個別にロードしていますが、目に見えても膨大な量のコードと多くの「インポート」依存関係が作成されます。 同じ名前空間(連絡先)を使用して、インポートするつもりはないというTSを知る方法があるかどうかという質問がありました。 通常の//コマンドを調べていましたが、動作しません。私は今までに* .d.ts宣言ファイルを試したこともありません。
これはまさに私が今やっていることです。各モジュールをインポートで個別に読み込みますが、気づくと、膨大な量のコードと数百の依存関係が作成されます。 同じ名前空間(連絡先)を使用して、インポートするつもりはないというTSを知る方法があるかどうかという質問がありました。 通常の//コマンドを調べていましたが、動作しません。 –
IgorM
その場合、モジュールの連絡先をエクスポートせず、すべてのファイルで 'モジュールの連絡先{...}'として定義してください。/// <リファレンス.. />(これは内部モジュールで動作します)を使用してTSそれらを見つけ、 'export var contacts = Contacts;」という名前のAMDモジュール用の新しいファイルを作成します。それであなたはAMDを通して全体をロードすることができます。エクスポートする変数がモジュールと正確に同じ名前でないことを確認する必要があります。そうしないと、コードが出力されません。残念ながら、現時点ではこのコードデモを書くことはできませんが、必要に応じて後で行うことができます。 – nxn
もう少し考えれば、各モジュールをそれ自身のjsファイルに出力するmakefileを作成する必要があります。 – nxn