Backbone.js Backbone.io、Backbone和require.js
如何使用Require.js的shim config加载Backbone.io、Backbone和socket.io 似乎其他一切都加载得很好,只是当我尝试运行Backbone.io.connect()时,我得到了“Backbone未定义”。Backbone.io的服务方式与socket.io服务器创建的/socket.io目录中的socket.io相同Backbone.js Backbone.io、Backbone和require.js,backbone.js,socket.io,requirejs,Backbone.js,Socket.io,Requirejs,如何使用Require.js的shim config加载Backbone.io、Backbone和socket.io 似乎其他一切都加载得很好,只是当我尝试运行Backbone.io.connect()时,我得到了“Backbone未定义”。Backbone.io的服务方式与socket.io服务器创建的/socket.io目录中的socket.io相同 requirejs.config({ baseUrl: 'javascripts/lib', paths: { jquery:
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.io库,使其能够完成任务?尝试在路径中包含主干
paths: {
jquery: 'jquery.min',
bootstrap: 'bootstrap.min',
underscore: '<name of underscore file>',
backbone: '<name of backbone file>'
},
尝试在您的路径中包含主干
paths: {
jquery: 'jquery.min',
bootstrap: 'bootstrap.min',
underscore: '<name of underscore file>',
backbone: '<name of backbone file>'
},
以下是它最终对我起作用的方式: 谢谢房东,你的回答帮助最大
requirejs.config({
baseUrl: 'javascripts/lib',
paths: {
jquery: 'jquery.min',
bootstrap: 'bootstrap.min',
backbone: 'backbone',
underscore: 'underscore',
socketio: '../../socket.io/socket.io',
backboneio: '../../socket.io/backbone.io'
},
shim : {
'underscore': {
exports: '_'
},
'backbone': {
deps: ["underscore", "jquery"],
exports: 'Backbone'
},
'bootstrap': {
deps: ["jquery"],
exports: 'bootstrap'
},
'backboneio': {
deps: ["backbone", "socketio"]
}
}
})
requirejs(['jquery',
'underscore',
'backbone',
'bootstrap',
'socketio',
'backboneio'
], function($,
_,
Backbone,
bootstrap,
titlealert,
waitForImages){
}
以下是它最终对我起作用的方式: 谢谢房东,你的回答帮助最大
requirejs.config({
baseUrl: 'javascripts/lib',
paths: {
jquery: 'jquery.min',
bootstrap: 'bootstrap.min',
backbone: 'backbone',
underscore: 'underscore',
socketio: '../../socket.io/socket.io',
backboneio: '../../socket.io/backbone.io'
},
shim : {
'underscore': {
exports: '_'
},
'backbone': {
deps: ["underscore", "jquery"],
exports: 'Backbone'
},
'bootstrap': {
deps: ["jquery"],
exports: 'bootstrap'
},
'backboneio': {
deps: ["backbone", "socketio"]
}
}
})
requirejs(['jquery',
'underscore',
'backbone',
'bootstrap',
'socketio',
'backboneio'
], function($,
_,
Backbone,
bootstrap,
titlealert,
waitForImages){
}
不幸的是,这没有帮助。主干和下划线库在我开发时没有缩小,所以它们只是backbone.js和underline.js。如果没有缩小,在路径中只放backbone:'name of backbone file without.js',是的,我相信Paul是正确的,您还需要在路径中放下划线:'name of underline file without.js'。我更新了我的答案以反映这一点。不幸的是,这没有帮助。主干和下划线库在我开发时没有缩小,所以它们只是backbone.js和underline.js。如果没有缩小,在路径中只放backbone:'name of backbone file without.js',是的,我相信Paul是正确的,您还需要在路径中放下划线:'name of underline file without.js'。我更新了我的答案以反映这一点。