2

次のmain.jsコードは、優先順位を尊重しません (必要なunderscore.jsときにロードされない場合があります)。backbone.js

require({
    baseUrl:'/scripts',
    priority:[
        "http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js",
        "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js",
        "http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js",
        "http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"
    ]
    },["src/app"], 
    function (app) {
        app.start();
});

order!これらの CDN 依存関係の前に追加すると、order.js not foundエラーで失敗します。

4

1 に答える 1

6

最近 RequireJS ドキュメントを更新しましたが、まだ変更をサイトにプッシュしていません。

「優先」構成は、プラグインによってロードされたリソースをロードできません。したがって、あなたがやろうとしていることを達成するには、require() 呼び出しをネストするだけで、必要な動作が得られます。

require(
    {
        baseUrl:'/scripts'
    },
    [
        "require",
        "order!http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js",
        "order!http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js",
        "order!http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js",
        "order!http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"

    ], 
    function (require) {
        require(["src/app"], function (app) {
            app.start();
        });
    }
);

これは、 /scripts/order.js の場所に注文プラグインがあることを前提としています。

于 2011-05-26T18:20:51.150 に答える