我有一个Host Javascript应用程序,它不使用AMD,BackboneJS或RequireJS但是使用jQuery,我有一个带有requireJS + BackboneJS的小应用程序,它应该是Host的插件。
现在插件AMD-Application:
我的问题是我在插件AMD应用程序中没有任何全局变量(函数),所以我的大型非AMD应用程序无法以这种方式看到它。
如何设置这两者之间的通信,以便非AMD App可以查看并将数据传递给插件AMD App?
输入点我的插件AMD App:
<script data-main="app/js/main" src="app/js/Libs/require/require.js"></script>
main.js
require.config({
paths: {
jquery: 'http://code.jquery.com/jquery-1.7.1.min',
jqueryui: 'http://code.jquery.com/ui/1.8.17/jquery-ui',
underscore: 'Libs/underscore/underscore-min',
backbone: 'Libs/backbone/backbone-min',
//Require Plugins
text: 'Libs/require/text',
use: 'Libs/require/use',
domReady: 'Libs/require/domReady'
},
use: {
backbone: {
deps: ["use!underscore", "jquery"],
attach: function() {
return Backbone;
}
},
underscore: {
attach: "_"
}
}
});
require([
'jquery',
'use!backbone',
'app'
], function(App){
});
app.js
define([
'jquery',
'router'
], function($, Router){
var initialize = function(){
// Pass in our Router module and call it's initialize function
Router.initialize();
}
return {
initialize: initialize
};
});
答案 0 :(得分:1)
不确定我完全理解,但是要从您的requirejs代码中公开全局:
require([
'jquery',
'use!backbone',
'app'
], function(App){
window.App = App;
});
现在window.App
对所有代码都可见。