Javascript Socket.io和requirejs依赖关系问题
我有一个带有两台服务器的传统express项目。我有两个客户端文件:Javascript Socket.io和requirejs依赖关系问题,javascript,node.js,socket.io,requirejs,ace-editor,Javascript,Node.js,Socket.io,Requirejs,Ace Editor,我有一个带有两台服务器的传统express项目。我有两个客户端文件: requirejs.config({ baseUrl:“/js” ,路径:{ “jquery”:“lib/jquery/jquery-2.1.1.min”, “socket.io”:“lib/socket/socket.io” } }); requirejs(['jquery','socket.io'], 函数($,io){ 控制台日志(io); 变量套接字=io('http://localhost:3000'); [....
requirejs.config({
baseUrl:“/js”
,路径:{
“jquery”:“lib/jquery/jquery-2.1.1.min”,
“socket.io”:“lib/socket/socket.io”
}
});
requirejs(['jquery','socket.io'],
函数($,io){
控制台日志(io);
变量套接字=io('http://localhost:3000');
[....]
这是:
requirejs.config({
baseUrl:“/js/lib”
,路径:{
“ace”:“ace/lib/ace”
,“bcsocket”:“/通道/bcsocket”
,“shareJS”:“shareJS/share”
,“sharejs_ace”:“sharejs/ace”
,“ace_java”:“ace/mode/java”
,“jquery”:“jquery/jquery-2.1.1.min”
,“socket.io”:“socket/socket.io”
}
,垫片:{
“bcsocket”:{
导出:“BCSocket”
}
,“shareJS”:{
导出:“sharejs”
,deps:[“bcsocket”]
}
,“sharejs_ace”:{
部门:[“ace/ace”、“shareJS”]
}
,“ace_java”:{
副秘书:['ace/ace']
}
}
});
requirejs(['ace/ace','shareJS','bcsocket','shareJS_ace','jquery','socket.io',],
功能(ace、sharejs){
var editor=ace.edit('editor');
编辑器.setTheme('ace/theme/twilight');
editor.getSession().setMode('ace/mode/java');
变量套接字=io('http://localhost:3000');
控制台日志(套接字)
socket.emit('hi');
[....]
问题是:我无法从第二个文件访问变量io,只能在第一个文件上访问。即使我设法在一个文件中加入所有依赖项和文件,socket.io的东西也会停止工作
这种依赖关系在某种程度上是相互冲突的,我不知道该怎么做
这是我的package.json:
“依赖项”:{
“快车”:“3.4.8”,
“玉”:“*”,
“共享”:“^0.6.3”,
“socket.io”:“^1.3.5”,
“连接”:“*”
},
提前感谢解决了我的问题:
requirejs([‘ace/ace’, ‘shareJS’, ‘bcsocket’, ‘sharejs_ace’,’jquery’, ‘socket.io’],
function(ace, sharejs, io) {
它将一个bcsocket变量传递给io
所以当我换成
requirejs([‘ace/ace’, ‘shareJS’, ‘socket.io’, ‘bcsocket’, ‘sharejs_ace’,’jquery’],
function(ace, sharejs, io) {
然后它将socket.io变量传递给io
这只是订单上的问题