我下载了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
发布于 2013-03-29 06:45:55
客户端代码上的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>希望这能为其他人节省一点时间。
https://stackoverflow.com/questions/15693482
复制相似问题