如何使用 Require.js 的 shim 配置加载 Backbone.io、Backbone 和 socket.io?
似乎其他所有内容都加载得很好,只是当我尝试运行 Backbone.io.connect() 时,我得到“Backbone is not defined”。Backbone.io 的服务方式与 socket.io 来自 socket.io 服务器创建的 /socket.io 目录的方式相同。
requirejs.config({
baseUrl: 'javascripts/lib',
paths: {
jquery: 'jquery.min',
bootstrap: 'bootstrap.min'
},
shim : {
'underscore': {
exports: '_'
},
'backbone': {
deps: ["underscore", "jquery"],
exports: 'Backbone'
},
'bootstrap': {
deps: ["jquery"]
}
}
})
requirejs(['jquery',
'underscore',
'backbone',
'bootstrap',
'../socket.io/socket.io.js',
'../socket.io/backbone.io.js'
], function($,
_,
Backbone,
bootstrap){
Backbone.io.connect();
}
小更新:
似乎Backbone在主requirejs函数中定义得很好,只是backbone.io需要在初始化之前定义Backbone。如何初始化 Backbone 对象,然后初始化主干.io 库,以便它可以做到这一点?