如何使用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