TypeScript には優れたモジュール システムがあるように見えますが、これは requirejs のようなものの必要性を置き換えますか? つまり、typescript パッケージを「コンパイル」すると、すべての依存関係の解決が処理されますか? 例をいただければ幸いです。
3 に答える
TypeScriptは、requirejsのようなAMD互換の依存関係ローダーまたはNodeのようなcommonjs環境の両方で機能するコードを出力できます。これは、コンパイラの--moduleオプションを使用して制御できます。コンパイラ自体は実行時に依存関係の解決を処理しません。それはあなた次第ですが、コンパイル時に依存関係を解決しようとするので、型情報を提供できます。
たとえば、CodePlexのテストディレクトリにあるモジュールを使用するプロジェクトの例を見ることができます。これらのテストプロジェクトのコンパイルの出力は、たとえば、requirejs(--module amdを渡す場合)またはNode(--module commonjsを渡す場合)のいずれかでロード可能な.jsファイルです。
アプリケーションが typescript モジュール/ファイルのみで構成されている場合、モジュール ローダーやその他の依存関係管理を使用しないことが可能です。コメント参照ですべての依存関係を含め、コンパイラの --out オプションを使用する必要があります。例えば:
tsc --out compiled.js app.ts
これにより、app.ts 用に生成された js と、依存関係の依存関係を含むすべての依存関係が、compiled.js に入れられます。結果のファイルは、script タグを使用して html ファイルに直接含めることができます。ミニファイすることもできます。ランタイムでのモジュールのロードはサポートされていません