Порядок Requirejs не работает с приоритетами config и зависимостями CDN - PullRequest
2 голосов
/ 26 мая 2011

Следующий код 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.

1 Ответ

6 голосов
/ 26 мая 2011

Я недавно обновил документы 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();
        });
    }
);

Это предполагает, что у вас есть плагин order в / scripts / orderМестоположение .js.

...