それぞれが同じモジュール識別子を持つ 1 つのクラスを含む複数の *.ts ファイルをコンパイル (--out) すると、*.js ファイルが作成され、各クラスが独自のクロージャーでラップされ、モジュールの参照が各クロージャーに渡されます。
例:
Bar.ts:
module baz {export class Bar {}}
足:
module baz { export class Foo {}}
out.js
var baz
(function(baz){ var Bar = ... })(baz);
(function(baz){ var Foo = ... })(baz);
コンパイラが両方のクラスが宣言されている 1 つのクロージャーを作成するように、両方のクラスを 1 つのファイルに含める方法はありますか? すべてのクラスを 1 つの *.ts ファイルに配置することは、非常に悪い考えのようです。
目的は次のとおりです。
- クラスごとに 1 つの *.ts ファイルを使用する
- モジュールのすべてのクラスで、エクスポートされていないクラスを使用する
- モジュールにクリーンなインターフェースを提供する
私が実際に意味することのダーツのような擬似コード:
baz.ts
module baz {
part "Foo.ts";
part "Bar.ts";
}
フッツ
part of "baz.ts";
export class Foo {}
Bar.ts
part of "baz.ts";
export class Bar {}
読んでくれてありがとう、
マーティン