如何使用Require.js的shim配置加载Backbone.io,Backbone和socket.io?Backbone.io,Backbone和require.js
似乎所有的东西都加载得很好,只是当我试图运行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();
}
小更新:
好像骨干被定义在主requirejs功能就好了,它只是需要backbone.io它的初始化之前定义骨干。我怎样才能初始化Backbone对象,然后初始化backbone.io库,以便它可以做到这一点?
另外,'下划线:'underscore.min''我想... – 2013-02-12 06:40:17
不幸的是,这并没有帮助。骨干和下划线库在我开发时没有缩小,所以它们只是backbone.js和underscore.js。 – 2013-02-12 13:35:55
如果它没有被缩小,在路径中只需放置主干:'没有.js的骨干文件的名称',并且是的,我相信Paul是正确的,您需要将下划线:'没有.js的下划线文件的名称'放入路径也是如此。我已经更新了我的答案以反映这一点。 – landland 2013-02-12 15:35:02