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

Joh*_*sma 11 client-side heroku node.js socket.io

我一直无法在Heroku上托管的Node.js应用程序上为我的JS客户端代码加载socket.io库.

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

<script type="text/javascript" src="/socket.io/socket.io.js"></script> 
Run Code Online (Sandbox Code Playgroud)

但是,当我socket = io.connect('http://myherokuapp');在我的JS客户端代码中执行时,我得到了预期的"io未定义"错误.

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

谢谢!

Joh*_*sma 9

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

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

<script type="text/javascript" src="http://myapp.herokuapp.com/socket.io/socket.io.js"></script>
Run Code Online (Sandbox Code Playgroud)

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

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

socket = io.connect('http://myapp.herokuapp.com/');
Run Code Online (Sandbox Code Playgroud)

此外,这超出了这个问题的范围,但你现在不能在Heroku上使用websocket.他们在这里有一点注意事项.

希望这可以帮助!