私は非常に大きなプロジェクトで--module system
(SystemJS)でTypeScriptを使用しています。 SystemJSは周期的な依存関係をサポートしており、ほとんどの場合、正常に動作します。しかし、TypeScriptの継承が関与すると、事態が壊れるようになります。 class A
が最初にロードされる場合SystemJSのTypeScript継承と循環依存関係
class A
が
class B
に依存している場合たとえば
、およびclass B
はその後、class A
から継承:
- それは
class A's
解像度を一時停止し、class B
依存関係をロードしようとする class B
は、class A
にアクセスしたため、依存関係が解決されたとみなされます。class A
はまだ定義されていないため、継承は解決されません。class B's
「ソリューション」のほとんどは、私がされているいずれかのモジュールローダとの循環依存関係にウェブ上で見つけることができます。
-
は/あなたのデザインを変更し、単一のモジュール
- CommonJSと非にクラスを組み合わせ
- TypeScript固有の回避策
循環型設計の正当な理由があるようで、クラスを巨大ファイルに結合することは必ずしも望ましくないので、これらの回避策をb私が求めている質問の話題から離れている。
実際の問題に対する解決策はありますか?