Javascript 冲突dojo.require和Socket.io客户端
我使用Javascript 冲突dojo.require和Socket.io客户端,javascript,node.js,dojo,socket.io,Javascript,Node.js,Dojo,Socket.io,我使用dojo 1.8.6和socket.io 0.9.16,在加载socket.io.js客户端后,dojo.require冲突发生,无法加载更多的dojo模块 require(['socket.io/socket.io'])导致错误 TypeError:无法读取未定义的属性“push” 由于某种原因,我不能使用“dojox/socket” 有人知道吗?require语句必须是有效的AMD mid(模块标识符) 通常,人们会将包添加到他们的配置中,例如: var dojoConfig = {
dojo 1.8.6
和socket.io 0.9.16
,在加载socket.io.js客户端
后,dojo.require
冲突发生,无法加载更多的dojo模块
require(['socket.io/socket.io'])
导致错误
TypeError:无法读取未定义的属性“push”
由于某种原因,我不能使用“dojox/socket”
有人知道吗?require语句必须是有效的AMD mid(模块标识符) 通常,人们会将包添加到他们的配置中,例如:
var dojoConfig = {
packages: [
{name: 'socketio', location: 'path/to/socket.io/socket.io'}
]
}
然后要求:
require(['socketio'], function (socketio) {
// do something with socketio
});
至于为什么不能使用dojox/socket,我看不到任何代码可供评论。您可能还想签出,这是dojox/socket的一个替代品草案。从dojo 1.11开始,以下各项工作正常:
packages: [
"dojo",
{name: "socketio", location: "/socket.io", main: "socket.io"}
]
模块加载时:
define([
"socketio"
], function (socketio) {
var socket = socketio();
});
我假设它在以前的版本中也能工作,但我还没有测试过它
或者,您可以直接参考socket.io模块,因为它符合AMD标准
define([
"/socket.io/socket.io.js"
], function (socketio) {
var socket = socketio();
});
不幸的是,构建器仍然报告311错误(缺少依赖项),因此没有破坏构建。无法解决此问题,因为没有package.js将其标记为仅复制 我在github上添加了新项目[link],你能编辑这些代码吗,tnx。我尝试通过
dojox/socket
连接到node.js
服务器,但是这个模块只接受ws://
和wss://
,但是我的服务器运行在http上,我知道这很奇怪。我真的想使用socketio。