Javascript 找不到Node.js socket.io.js或未定义io
我试图在我的freebsd服务器上运行node.js应用程序,但无法让socket.io库使用它。我试过包括:Javascript 找不到Node.js socket.io.js或未定义io,javascript,html,node.js,socket.io,Javascript,Html,Node.js,Socket.io,我试图在我的freebsd服务器上运行node.js应用程序,但无法让socket.io库使用它。我试过包括: <script src="/socket.io/socket.io.js"></script> 这会产生一个404错误,如果我直接链接到该文件(即它在我的public_html文件夹中的位置),我会得到io not defined错误 提前感谢您的node.js应用程序仍然需要为其提供服务-它不会自动获得服务。你的服务器里有什么?应该是这样的 va
<script src="/socket.io/socket.io.js"></script>
这会产生一个404错误,如果我直接链接到该文件(即它在我的public_html文件夹中的位置),我会得到io not defined错误
提前感谢您的node.js应用程序仍然需要为其提供服务-它不会自动获得服务。你的服务器里有什么?应该是这样的
var app = require('express').createServer();
var io = require('socket.io').listen(app);
或类似的(收听<代码>非常重要)。该位置不是磁盘上的真实位置-据我所知,socket.io库应该截取URL并为其客户端库提供服务。在正文解析器之后添加以下内容:
, express.static(__dirname + "/public")
比如:
var app = module.exports = express.createServer(
express.bodyParser()
, express.static(__dirname + "/public")
);
尝试创建另一个node.js应用程序,其中包含这一行,然后使用node.js运行它
var io = require('socket.io').listen(8000);
然后在浏览器中访问http://127.0.0.1:8000
您应该会收到友好的“Welcome to socket.io.”问候语。如果您收到此消息,那么socket.io正在运行,并将提供socket.io.js文件
我能想到的另一件可能发生的事情是,您可能没有链接到客户端文件中的备用端口。除非您正在运行端口80上运行的express上的socket.io服务器。现在,创建一个客户端文件,将socket.io的脚本源设置为
<script src="http://127.0.0.1:8000/socket.io/socket.io.js"> </script>
这应该连接到在端口8000上运行的socket.io服务器,并获取socket.io.js文件。谢谢,这没有发生,我会考虑修复它。我很困惑。我也有同样的问题,这确实有效,但我确实想在不运行单独服务器的情况下修复它。“我能想到的另一件事是,您可能没有链接到客户端文件中的备用端口”您这么说是什么意思,我在端口3200上使用的是express,我对socket.io做了什么特殊的处理,以便它在端口3200上为客户端js文件提供服务器?