1

SystemJS と Type スクリプトを使用して次のシナリオを実装するためのベスト プラクティスを探しています -

  1. AbstractLogger.d.ts - いくつかのクラスでモジュールを宣言 (エクスポート) する必要があります。
  2. ConsoleLogger.ts - AbstractLogger を「実装」する必要があります。
  3. Consumer.ts - AbstractLogger クラスを参照して使用する必要があります。

すべてがコンパイルされますが、現在の AbstractLogger 実装として ConsoleLogger をどこに注入すればよいですか? サーバー側のコードでは、単純な DI を使用して簡単に実現できます。ここではどのように行う必要がありますか?

System.config (マップ: ...) を使用しようとしましたが、うまくいきませんでした。これは正しいパターンですか、それともここに何か不足していますか?

ありがとう!

4

2 に答える 2

0

DI ライブラリが必要です。モジュール ローダーは依存性注入コンテナーではありません。

Aurelia の依存性注入コンテナーを試してみてください。これは依存関係のないスタンドアロン ライブラリであり、ブラウザーで動作し、TypeScript と JavaScript の両方をサポートするノード内で動作します。

于 2016-02-26T01:04:13.263 に答える
0

サーバー側のコードでは、単純な DI を使用して簡単に実現できます. ここで行う方法

ES6 モジュールローダーは DI ではありません。参考になればscriptタグクリエータ(ファイル整理)+revealing module pattern wrapper(地球汚染防止)と考えていいでしょう。

DI には DI ライブラリが必要です。たとえば、いくつかのモジュールローダー(systemjsを含む)でInversifyを使いやすい:ノードの場合はTypescript IOC

于 2016-02-25T23:05:20.300 に答える