Heroku上的Socket.io:客户端代码

时间:2011-11-10 14:56:49

标签: node.js heroku client-side socket.io

我在Heroku上托管的Node.js应用程序上为我的JS客户端代码加载socket.io库时遇到了麻烦。

现在,我在index.html文件末尾有这一行:

<script type="text/javascript" src="/socket.io/socket.io.js"></script> 

但是,当我在我的JS客户端代码中执行socket = io.connect('http://myherokuapp');时,我得到一个预期的'io is not defined'错误。

知道如何在Heroku上正确加载库吗?

谢谢!

1 个答案:

答案 0 :(得分:9)

好的,所以我终于找到了自己的方式。我正在分享以防万一。

我以这种方式在index.html中加载脚本:

<script type="text/javascript" src="http://myapp.herokuapp.com/socket.io/socket.io.js"></script>

这是有道理的,因为客户端库实际上是从节点服务器加载的,不应该手动推送。

在我的客户端JS文件中,我以这种方式实例化套接字:

socket = io.connect('http://myapp.herokuapp.com/');

此外,这超出了这个问题的范围,但你现在不能在Heroku上使用websocket。他们对here有一点说明。

希望这有帮助!