Я использую Магистраль с Менеджером макетов и RequireJS.Требуется зависимость только при загрузке базового представления
View1 зависит от 2 зависимостей, как видно ниже. Приложение также имеет аналогичный вид с именем View2, который зависит только от `jquery.fileupload ', в отличие от View1, который имеет 2 deps.
define(['jquery.fileupload', 'jquery.fileupload-ui'], function (dep1, dep2) {
var View1 = Backbone.View.extend({
...
});
return View1;
});
Проблема заключается в том, что «jquery.fileupload-щ» (вторая зависимость), как представляется, погруженных/оценивали requireJS, даже если я не посещаю вид, что зависит от него, и что вызывает некоторые ошибки плагинов (Я использую базовый плагин fileupload в одном представлении и расширенный плагин для загрузки файлов в другом представлении). Похоже, что define() предварительно загружает модули сразу.
Как я могу избежать загрузки второй зависимости при инициализации приложения и загрузить ее только в моем представлении? Я думаю, что я мог бы потребовать() вызов в define для View1, , но я не уверен, как тогда я могу вернуть значение, если вызовы вложены.
Require.js должен загружать представление лениво, поэтому, если вы не создадите экземпляр View1 к моменту использования View2, у вас не должно быть проблем. Вам лучше сосредоточиться на ошибках плагина, которые вы получаете и решить, однако, может быть, вы можете опубликовать его часть здесь? – snedkov