首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Socket.io和需求依赖问题

Socket.io和需求依赖问题
EN

Stack Overflow用户
提问于 2015-07-14 20:40:00
回答 1查看 362关注 0票数 1

我有一个带有两个服务器的遗留速递项目。我有两个客户端文件:

代码语言:javascript
复制
requirejs.config({
baseUrl: '/js'
, paths: {
    "jquery": "lib/jquery/jquery-2.1.1.min",
    "socket.io" : "lib/socket/socket.io"
  }
});

requirejs(['jquery', 'socket.io'],
function   ($, io) {

  console.log(io);
  var socket = io('http://localhost:3000');

  [....]

这是:

代码语言:javascript
复制
requirejs.config({
  baseUrl: '/js/lib'
  , paths: {
    "ace": "ace/lib/ace"
    , "bcsocket": "/channel/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"
 }
 , shim: {
   "bcsocket": {
      exports: "BCSocket"
    }
    , "shareJS": {
     exports: "sharejs"
     , deps: ["bcsocket"]
  }
  , "sharejs_ace": {
     deps: ["ace/ace", "shareJS"]
  }
  , "ace_java": {
     deps: ['ace/ace']
  }
}
});

requirejs(['ace/ace', 'shareJS', 'bcsocket', 'sharejs_ace','jquery', 'socket.io'],
   function(ace, sharejs) {
      var editor = ace.edit('editor');
      editor.setTheme('ace/theme/twilight');
      editor.getSession().setMode('ace/mode/java');

      var socket = io('http://localhost:3000');

      console.log(socket)

      socket.emit('hi');

      [....]

问题是:我不能从第二个文件访问变量io,只能访问第一个文件。而且,即使我设法将所有依赖项和文件连接到一个文件中,socket.io组件也将停止工作。

这种依赖在某种程度上是相互冲突的,我不知道如何处理。

这是我的package.json:

代码语言:javascript
复制
  "dependencies": {
    "express": "3.4.8",
    "jade": "*",
    "share": "^0.6.3",
    "socket.io": "^1.3.5",
    "connect": "*"
  },

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-15 16:51:46

设法解决我的问题:

代码语言:javascript
复制
requirejs([‘ace/ace’, ‘shareJS’, ‘bcsocket’, ‘sharejs_ace’,’jquery’, ‘socket.io’],
   function(ace, sharejs, io) {

它将一个bcsocket变量传递给io。

所以当我改变到

代码语言:javascript
复制
requirejs([‘ace/ace’, ‘shareJS’, ‘socket.io’, ‘bcsocket’, ‘sharejs_ace’,’jquery’],
   function(ace, sharejs, io) {

然后将socket.io变量传递给io。

只是命令出了点问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31416868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档