2

jQuery に加えて、requirejs を使用していくつかのプラグインをロードしたいと考えています。構成オブジェクトの「パス」および「shim」プロパティの設定は機能します。したがって、TypeScript 内から jQuery を要求し、amd-dependency を介してプラグインをロードできます。

ここで、jQuery とプラグインをロードするために必要なコードを最小限に抑えたいと思います。「jQueryが必要なときはいつでも、pathsプロパティで指定されたパスを介してロードします。その後、次のプラグインをロードします...」.

基本的に、これにより、jQuery のみを必要とすることができます。すべてのプラグインも自動的にロードされます。

4

1 に答える 1

7

あなたが発見したように、構成ではモジュールの前にshim何をロードするかを定義できますが、モジュールのに何かをロードするための対応する機能はありません。ただし、r.js 最適化への全体的なアプローチでは、読み込み時間を節約するために、それらをすべて 1 つのファイルにまとめる必要があります。requirejs jquery doc pageからリンクされているシムの例の最適化セクションを参照してください。

これに加えて追加できるもう 1 つのハックは、他のモジュールをロードする独自のモジュールを定義することです。

require.config( {
    shim: {
        jquery: { exports: ['jQuery', '$'] },
        plugin1: { deps: ['jquery'] },
        plugin2: { deps: ['jquery'] }
    }
});

define('jquerywithplugins', ['jquery', 'plugin1', 'plugin2'], function(jq) {
    return jq;
});

そして後でrequire(['jquery'])あなたの代わりにrequire(['jquerywithplugins'])

于 2013-08-21T17:52:35.790 に答える