8

構文を使用して TypeScript 宣言ファイル (例: jquery.d.ts) を参照する/// <reference path="..."/>場合、対応するライブラリを別の方法で確実にロードする必要があります。つまり、.d.ts ファイルを参照するだけではロードされません。図書館。

require()ライブラリを使用するときに TypeScript にライブラリの呼び出しを生成させる方法はありますか? AMD/requirejs を使用していない場合はrequire、手動で呼び出すことができますが、これを AMD で動作させたいと考えています。

これの利点は、依存関係が 2 つの場所で定義されないことです。HTML で依存関係のリストを手動で維持する必要はなく、.ts ファイルからライブラリを参照するだけで確実に読み込まれます。

更新:正確な状況を明確にする新しい質問を開きました。必要な詳細をすべて提供しなかったため、元の質問への回答の功績を認めたいと思います。

4

2 に答える 2

7

はい、TypeScript は「外部」モジュールをサポートしています。これは、基本的にファーストクラスの AMD または CommonJS モジュールです。例えば:

MyLib.ts

export function foo() { return 'bar' }

MyProj.ts

import lib = module('./MyLib.ts')
lib.foo(); // returns bar

これを「--module amd」でコンパイルすると、適切なモジュールとrequire構文が生成されます。

于 2012-10-19T23:35:33.230 に答える
1

そのことについてブログに書いたことがあります。GitHubにも例があります。

解決策を説明するにはかなり長くなりますが、基本的には Require.JS で shim を使用して、ロードする Javascript ライブラリを表すモジュール名を定義します。次に、同じ名前の TypeScript ファイルを作成して、必要な JS ライブラリを使用できる Javascript コードを TypeScript コンパイラに生成させます。このような意味はあまりありませんが、投稿を読んでください。もっと意味があると思います。

于 2012-10-20T23:17:14.397 に答える