TypeScript で複雑なモジュールを作成しています (Mono.Cecil と同様に PE ファイル構造を解析しますが、TS/JS では洗練されていません)。
問題は、その機能をファイル/フォルダー/モジュールの次元にどのように配置するのが最善かということです。
C# に似た構造から始めました。各クラスは独自のファイルにあり、名前空間 (モジュール) は多かれ少なかれ独立した機能の大規模なセットに対応し、サブフォルダーに存在します。
現在、TypeScript にはいくつかの問題があります。それとも、私が愚かであることに問題があるのでしょうか?
- 個別のファイル内のすべてのクラスは開発には適していますが、コンパイルされた出力には意味がありません。1 つではなく 24 個のファイルを持ち歩きたいと思う人はいません。
- すべてを 1 つのファイル (tsc -out) にコンパイルすると、すべてが同じモジュールに属している場合でも、個別のファイルの内容はほぼ個別に出力されます。TypeScript は、ファンキーでハッキーに見える構文を使用してそのモジュールを構築します。これは、私が手で書くようなものではありません (1 つのモジュール定義のすぐに呼び出される関数にすべてを貼り付けます)。
- 自分のものが Node.js とブラウザーで動作するようにしたい。ノードの場合は「エクスポート モジュール」ですべてを処理する必要がありますが、ブラウザの場合は、whatever.js を生成してページに含めることが一般的です。つまり、「エクスポート モジュール」を削除する必要があります。
それに対処する最善の方法は何ですか?