У меня есть файл начальной загрузки, который определяет пути require.js и загружает приложения и конфигурационные модули.Модули require.js не загружаются должным образом
// Filename: bootstrap
// Require.js allows us to configure shortcut alias
// There usage will become more apparent futher along in the tutorial.
require.config({
paths: {
bfwd: 'com/bfwd',
plugins: 'jquery/plugins',
ui: 'jquery/ui',
jquery: 'jquery/jquery.min',
'jquery-ui': 'jquery/jquery-ui.min',
backbone: 'core/backbone.min',
underscore: 'core/underscore.min'
}
});
console.log('loading bootstrap');
require([
// Load our app module and pass it to our definition function
'app',
'config'
], function(App){
// The "app" dependency is passed in as "App"
// Again, the other dependencies passed in are not "AMD" therefore don't pass a parameter to this function
console.log('initializing app');
App.initialize();
});
app.js загружен как следует, и загружаются зависимости. вызывается вызов callback, причем все правильные зависимости передаются в качестве аргументов. Ошибка не возникает. ОДНАКО, в обратном вызове bootstrap приложение не определено! аргументы не передаются. Что может быть причиной этого? Вот мое приложение файл (модифицированный для пространства)
// Filename: app.js
define(
'app',
[
'jquery',
'underscore',
'backbone',
'jquery-ui',
'bfwd/core',
'plugins/jquery.VistaProgressBar-0.6'
],
function($, _, Backbone){
var initialize = function()
{
//initialize code here
}
return
{
initialize: initialize
};
}
);
Вы можете проверить, разрешено ли более одной версии функции 'define'? Кроме того, обычно лучше использовать анонимные определения. Поэтому, возможно, удалите «приложение», «код из модуля». –
Как проверить, объявлено ли более одной версии 'define'? Кроме того, я пробовал с и без объявления «app» – LordZardeck
Не уверен, что честно! Но если есть две конкурирующие функции определения, тогда состояние модулей может быть неопределенным, даже если они кажутся рабочими (т. Е. Выполняется «фабричная» функция, переданная для определения). Можете ли вы попробовать удалить свое приложение на голые кости и постепенно добавлять зависимости? –