使用socket.io与dojo MultipleDefine错误



我正在尝试开发一个web应用程序。我已经有了socket.io用于服务器端和客户端之间通信的工作代码。

现在,我想使用Dojo编写接口,但这两者不能很好地配合使用这是我所拥有的:

<script src="dojo/dojo.js" data-dojo-config="async:true, parseOnLoad:true"></script>    
<script src="/socket.io/socket.io.js"></script>
<script>
require(["dojo/parser", "dijit/layout/BorderContainer", "dijit/layout/TabContainer",
    "dijit/layout/ContentPane"]);
</script>

我得到的错误:

Error {src: "dojoLoader", info: Object}
get stack: function () { [native code] }
info: Object
message: "multipleDefine"
set stack: function () { [native code] }
src: "dojoLoader"
__proto__: d
 dojo.js:1849

如果我注释掉这行:<script src="/socket.io/socket.io.js"></script>Dojo工作正常。

使用AMD加载程序加载socket.io,而不是自己注入脚本,因为它是AMD模块。

require([ 'socket.io/socket.io' ], …);

更好-你不需要socket.io.js-你只需要dojo

"dojox/socket"

https://www.sitepen.com/blog/2012/11/05/dojo-websocket-with-amd/

相关内容

  • 没有找到相关文章

最新更新