Backbone.js 如何使用requireJs获取Backbone.marionete.Application
我决定将我的Backbone.js 如何使用requireJs获取Backbone.marionete.Application,backbone.js,requirejs,marionette,Backbone.js,Requirejs,Marionette,我决定将我的web应用程序划分为不同的应用程序(app1,app2) 为什么从js/app1.js我得到未定义的? 我应该如何使用requirejs从app1访问mainApp 这是我的密码: js/main.js require([ 'js/app', 'js/app1/app1', 'js/app2/app2' ], function (App) { "use strict"; App.initialize(); }); define([''],
web应用程序
划分为不同的应用程序
(app1,app2)
为什么从js/app1.js
我得到未定义的?
我应该如何使用requirejs从app1访问mainApp
这是我的密码:
js/main.js
require([
'js/app',
'js/app1/app1',
'js/app2/app2'
],
function (App)
{
"use strict";
App.initialize();
});
define([''],
function(app)
{
var mainApp = new Backbone.Marionette.Application();
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
}
return mainApp;
});
define(['js/mainApp],
function(app)
{
console.log(app); // undefined
});
define(['jquery', 'underscore', 'backbone', 'backbone.marionette'],
function($, _, Backbone)
{
var mainApp = new Backbone.Marionette.Application();
// Make sure main app is not undefined here.
console.log('mainApp:', mainApp);
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
};
return mainApp;
});
js/mainApp.js
require([
'js/app',
'js/app1/app1',
'js/app2/app2'
],
function (App)
{
"use strict";
App.initialize();
});
define([''],
function(app)
{
var mainApp = new Backbone.Marionette.Application();
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
}
return mainApp;
});
define(['js/mainApp],
function(app)
{
console.log(app); // undefined
});
define(['jquery', 'underscore', 'backbone', 'backbone.marionette'],
function($, _, Backbone)
{
var mainApp = new Backbone.Marionette.Application();
// Make sure main app is not undefined here.
console.log('mainApp:', mainApp);
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
};
return mainApp;
});
js/app1/app1.js
require([
'js/app',
'js/app1/app1',
'js/app2/app2'
],
function (App)
{
"use strict";
App.initialize();
});
define([''],
function(app)
{
var mainApp = new Backbone.Marionette.Application();
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
}
return mainApp;
});
define(['js/mainApp],
function(app)
{
console.log(app); // undefined
});
define(['jquery', 'underscore', 'backbone', 'backbone.marionette'],
function($, _, Backbone)
{
var mainApp = new Backbone.Marionette.Application();
// Make sure main app is not undefined here.
console.log('mainApp:', mainApp);
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
};
return mainApp;
});
对于require.js,如果所需文件中有一个错误,有时它不会显示为错误,但返回值将变得未定义。在您的情况下,js/app1/app1.js
中的app
未定义,很可能是由于js/mainApp.js
中的错误
仅根据您提供的代码,js/mainApp.js
有一个带有空字符串的define
语句,但希望将App
传递给它的函数。尝试删除空字符串,只需将空列表([]
)传递给定义
,而不将应用程序
传递给该函数
如果您的实际代码没有这些语法问题,但仍有未定义
,请更新问题中的代码片段
试试这个:
js/mainApp.js
require([
'js/app',
'js/app1/app1',
'js/app2/app2'
],
function (App)
{
"use strict";
App.initialize();
});
define([''],
function(app)
{
var mainApp = new Backbone.Marionette.Application();
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
}
return mainApp;
});
define(['js/mainApp],
function(app)
{
console.log(app); // undefined
});
define(['jquery', 'underscore', 'backbone', 'backbone.marionette'],
function($, _, Backbone)
{
var mainApp = new Backbone.Marionette.Application();
// Make sure main app is not undefined here.
console.log('mainApp:', mainApp);
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
};
return mainApp;
});
不要忘记为JS库提供正确的路径。对于require.JS,如果其中一个所需文件中存在错误,有时它不会显示为错误,但返回值会变得未定义。在您的情况下,js/app1/app1.js
中的app
未定义,很可能是由于js/mainApp.js
中的错误
仅根据您提供的代码,js/mainApp.js
有一个带有空字符串的define
语句,但希望将App
传递给它的函数。尝试删除空字符串,只需将空列表([]
)传递给定义
,而不将应用程序
传递给该函数
如果您的实际代码没有这些语法问题,但仍有未定义
,请更新问题中的代码片段
试试这个:
js/mainApp.js
require([
'js/app',
'js/app1/app1',
'js/app2/app2'
],
function (App)
{
"use strict";
App.initialize();
});
define([''],
function(app)
{
var mainApp = new Backbone.Marionette.Application();
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
}
return mainApp;
});
define(['js/mainApp],
function(app)
{
console.log(app); // undefined
});
define(['jquery', 'underscore', 'backbone', 'backbone.marionette'],
function($, _, Backbone)
{
var mainApp = new Backbone.Marionette.Application();
// Make sure main app is not undefined here.
console.log('mainApp:', mainApp);
mainApp.start();
mainApp.initialize = function() {
Backbone.history.start();
};
return mainApp;
});
不要忘记为JS库提供正确的路径。+1感谢您的时间。实际上,我很确定我的js文件中没有错误。我重写了我的问题。请看一看。+1谢谢你抽出时间。实际上,我很确定我的js文件中没有错误。我重写了我的问题。请看一看。