ブラウザー内の TS コードのテストを書いているときに、次の問題に遭遇しました。私の「テスト」コード ファイルは、「アプリケーション」コード ファイルとは別のフォルダーにあります (これは諦めたくありません)。したがって、「アプリ」モジュールをインポートするには、次のようにする必要があります。
// tests/TS/SubComponent/Module.Test.ts
import m = module("../../Web/Scripts/SubComponent/Module");
これは問題なくコンパイルされます。しかし、ブラウザーにロードすると、明らかに機能しません。ブラウザーで実行されている RequireJS の観点からすると、モジュールは " app/SubComponent/Module " にあるためです (Web サーバーと RequireJS 構成を介して再マップされた後)。
TS 0.8.3 ではこの巧妙なトリックを実行できましたが、0.9.0 では機能しなくなりました。これは、コンパイラがモジュールをインターフェイスとして扱うことを許可しないためです。
問題は、クライアント側のコードをどのようにテストするかということです。明らかに、そうしているのは私だけではありませんよね?:-)