未findNode.js socket.io.js或未定义io

我试图在我的freebsd服务器上运行一个node.js应用程序,但是我无法得到socket.io库来使用它。 我试过包括:

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

这给出了404错误,如果我直接链接到文件(即它在我的public_html文件夹中),我得到了io未定义的错误。

提前致谢

尝试创build另一个node.js应用程序,它有这个单行,然后运行它与node.js

 var io = require('socket.io').listen(8000); 

然后在你的浏览器访问http://127.0.0.1:8000 ,你应该得到友好的“欢迎来到socket.io”。 问候。 如果你得到这个,那么socket.io正在运行,并将服务于socket.io.js文件。

我能想到的唯一可能的事情就是您可能不会链接到您的客户端文件中的备用端口。 除非你运行在端口80上运行的express上的socket.io服务器。现在,创build一个客户端文件,该文件的socket.io脚本源设置为

 <script src="http://127.0.0.1:8000/socket.io/socket.io.js"> </script> 

这应该连接到在端口8000上运行的socket.io服务器并获取socket.io.js文件。

您的node.js应用程序仍然需要提供服务 – 它不会自动提供服务。 你有什么服务器? 应该是这样的

 var app = require('express').createServer(); var io = require('socket.io').listen(app); 

或类似的( listen是重要的)。 位置不是磁盘上的真实位置 – 据我所知,socket.io库应拦截URL并为其客户端库提供服务。

在主体parsing器之后添加以下内容:

 , express.static(__dirname + "/public") 

所以像这样:

 var app = module.exports = express.createServer( express.bodyParser() , express.static(__dirname + "/public") );