dojo的冲突.require和Socket.输入输出端
conflict dojo.require and Socket.io client
我使用dojo 1.8.6
和socket.io 0.9.16
,加载socket.io.js client
后,dojo.require
发生冲突,无法再加载dojo模块
require([ 'socket.io/socket.io' ])
cause error.
TypeError: Cannot read property 'push' of undefined
由于某些原因,我不能使用"dojox/socket"。
有人知道吗?
从dojo 1.11开始,以下是正常工作的:
packages: [
"dojo",
{name: "socketio", location: "/socket.io", main: "socket.io"}
]
with module loading:
define([
"socketio"
], function (socketio) {
var socket = socketio();
});
我认为它在以前的版本中也可以工作,但我没有测试过。
也可以直接引用套接字。io模块,因为它兼容AMD。
define([
"/socket.io/socket.io.js"
], function (socketio) {
var socket = socketio();
});
不幸的是,构建器仍然报告311错误(缺少依赖),因此没有破坏构建。无法解决这个问题,因为没有package.js在哪里标记为仅复制…
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,我没有看到任何需要注释的代码。您可能还想查看https://github.com/bryanforbes/tube,它是dojox/socket的替代草案。
相关文章:
- 节点.js加密输入/输出类型
- 在javascript中测量websockets数据输入/输出的大小
- 整数 + 2x 单选按钮设置输入 --> 输出
- 使用输入/输出事件在 Angular 2 中的父组件中触发方法
- 泽西休息服务的 JSON 输入/输出在 JavaScript 中不可用
- jQuery在悬停输入/输出时作为进度条
- 如何将数字转换为货币,反之亦然?(html输入/输出)
- 莫名其妙的页面刷新在套接字后被触发.输入输出消息
- 我的幻灯片输入/输出动画不能在jQuery中工作
- 添加多个输入/输出目录
- node . js插座.输入输出插座.广播未定义
- 如何更改'旧套接字中已弃用的set()和get()输入输出的代码
- 如何设置传入套接字的最大大小限制.输入输出消息
- Socket IO输出次数过多
- 如何正确封装套接字.输入输出插座
- HTML输入输出
- dojo的冲突.require和Socket.输入输出端
- 聚合物:阻止儿童切换鼠标输入/输出事件
- 移动应用输入/输出
- 角+套接字.输入输出处理程序