将socket.io集成到angular-seed web-server.js中

时间:2013-03-28 22:45:55

标签: angularjs socket.io

我下载了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

1 个答案:

答案 0 :(得分:2)

客户端代码上的socket.io.js由节点动态提供(它不是资源)。但是,此Web服务器会重写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>

希望这能节省一些时间。

相关问题