RequireJS и скрипты, которые зависят от загрузки в определенном порядке - PullRequest
1 голос
/ 19 марта 2012

Я пытаюсь включить в это веб-приложение библиотеку jquery-ui.

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

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.

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

Итак, мои вопросы:

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

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

1 Ответ

2 голосов
/ 19 марта 2012

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

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

...