3

問題の簡単な説明: TypeScript を使用して AMD スタイルの名前付きモジュールを生成し、require.js を使用してバンドルおよび縮小されたファイルからロードしたいと考えています。

質問:

  • それは可能ですか?
  • または、別のアプローチを提案しますか?

TypeScript によって生成された名前付き AMD モジュールをロードすることで、すべてのスクリプトをバンドルして縮小する (追加の HTTP 要求が不要になるようにする) ことの利点を組み合わせたいと考えています。


更新:次の JavaScript ソリューションの行に沿って考えていました。

define("greeter", ["require", "exports", "jquery"], function(require, exports, $) {
    function greet() {
        alert("Hello World!");
    }

    exports.greet = greet;
});

次に、生成された JavaScript モジュールをバンドルしてファイルに縮小し、ブラウザーで簡単にキャッシュできるようにします。また、require.js がそこに出て、いくつかの GET リクエストを介してモジュールを取得する必要はありません。モジュールは既に定義されています。さらに、TypeScript を使用してこれらのモジュールを生成するすべての利点があります。

4

1 に答える 1

2

TypeScript で RequireJS を直接使用することで、これに取り組みます。

そのための定義ファイルがあり、適応できる可能性がある jQuery を使用して (インポート ステートメントではなく) TypeScript で生のRequireJSを使用する例を書きました。

結果のTypeScriptコードは次のとおりです...

///<reference path="require.d.ts" />
///<reference path="jquery.d.ts" />
require(['jquery'], function ($) {
    $(document).ready(() => {
        alert('Your code executes after jQuery has been loaded.');
    });
});

これでうまくいかない場合は、JavaScript でそれを行う方法を教えてください。TypeScript と同等のものを喜んで提供します。

于 2013-02-08T09:32:45.117 に答える