2012-03-19 3 views
1

Я пытаюсь включить в это web application библиотеку jquery-ui.RequireJS и скрипты, которые зависят от загрузки в определенном порядке

Для этого я изменил код таким образом:

require.config({ 
    paths: { 
    jquery: 'libs/jquery/jquery-min', 
    ui: 'libs/jquery-ui/jquery-ui-min', // ******** I just added this line ******** 
    underscore: 'libs/underscore/underscore-min', 
    backbone: 'libs/backbone/backbone-optamd3-min', 
    text: 'libs/require/text' 
    } 
}); 

require(['views/app'], function(AppView){ 
    var app_view = new AppView; 
}); 

Иногда я получаю следующее сообщение об ошибке:

jQuery is not defined 

Поскольку RequireJS нагрузки и оценивает сценарии в неопределенном порядке, я полагаю это зависит от того, что библиотека jquery.ui (которая зависит от jquery), иногда загружается перед jquery.

Согласно documentation, я могу использовать order plugin. В любом случае, для основы, для которой требуется подчеркнуть эту проблему, никогда не бывает.

Так что мои вопросы:

Почему для позвоночника (которые зависят от подчеркивания) этот вопрос никогда не бывает?

Я должен использовать order plugin, чтобы исправить мою проблему для jquery-ui?

+0

Для окончательного вопроса: jQuery UI зависит от jQuery и поэтому требует загрузки jQuery перед ним. –

+0

Я сейчас сталкиваюсь с этой проблемой, с помощью jQuery + jQuery-UI + подчеркивания + запрос веб-приложения. Вы нашли решение? –

+0

хорошо вопрос! почему бы это случилось? – dmp

ответ

2

Backbone делает нужен или какой-либо другой плагин order для загрузки, чтобы тоже ...

За исключением в вашем случае вы уже сделали свой выбор, чтобы не использовать нормальный Backbone, а скорее вилку от Джеймса Берка (Думаю, отсюда: https://github.com/jrburke/backbone). Это указывается вами, указывая путь базовой линии на backbone-optamd3-min. Кажется, вы забыли об этом;) Использование ветки amd в порядке, если вы помните, что сделали этот выбор. Если вы решите пойти с плагином, вы можете использовать обычный Backbone.js.

Смежные вопросы