【问题标题】:Integrate socket.io into angular-seed web-server.js将 socket.io 集成到 angular-seed web-server.js
【发布时间】:2013-03-28 22:45:54
【问题描述】:

我下载了 Angular 项目 angular-seed,并使用他们提供的节点 web-server.js 文件来运行我的代码。

我已经构建了足够多的功能,因此切换到另一个项目并重新执行已经在 web-server.js 中管理的 URL 处理将是非常重要的。

我想将 socket.io 添加到我的堆栈中。但是,socket.io(默认情况下)添加到客户端堆栈的方式如下所示:

<script src="/socket.io/socket.io.js"></script>

由于 web-server.js URL 重写,这不起作用。我该怎么办?

我已经安装了 node.js、npm 和 socket.io

【问题讨论】:

    标签: angularjs socket.io


    【解决方案1】:

    客户端代码上的socket.io.js 由节点动态提供(它不是资源)。但是,这个 web-server 会重写 url,所以你不能正常使用它:

    <script src="/socket.io/socket.io.js"></script>
    

    但您需要像这样提供它:

    <script src="http://nodeJS_server:port/socket.io/socket.io.js"></script>
    

    为了测试,nodeJS_server 可能是localhost

    port 是您为socket.io 定义的,而不是节点本身。例如,在 web-server.js 顶部的依赖项中,如果添加了

    io = require('socket.io').listen(8080),
    

    这是在端口 8080 上创建一个新服务器来处理您的套接字通信。因此,您可以将 index.html 中的 socket.io.js 文件定义为:

    <script src="http://localhost:8080/socket.io/socket.io.js"></script>
    

    希望这可以为其他人节省一点时间。

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 2013-04-04
      • 1970-01-01
      • 2014-09-20
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 1970-01-01
      相关资源
      最近更新 更多