无法加载资源 socket.io
Failed to load resource socket.io
我正在尝试在我的节点.js应用程序中使用 socket.io,但我的客户端无法从我的服务器获取库,我不知道为什么。
错误:无法加载资源:服务器以 http://localhost:3000/socket.io/socket.io.js 状态 404(未找到)进行响应服务器站点:
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.use(express.static('public'));
app.get('/', function (req, res) {
res.sendFile( __dirname + "/" + "index.html" );
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
io.on('connection', function(socket){
console.log('a user connected');
});
客户端:
<head>
<link rel="stylesheet" href="/stylesheets/style.css" />
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
</script>
</head>
你的索引.html代码找不到 socket.io,因为你只有 sendig 索引.html 作为响应。请尝试以下代码。
使用以下代码:
//"client" is folder for client code which contains index.html
app.use(express.static(__dirname + '/client'));
删除以下代码。节点.js将自动.html找到索引。
app.get('/', function (req, res) {
res.sendFile( __dirname + "/" + "index.html" );
});
更改索引.html新代码:
<script src="https://cdn.socket.io/socket.io-1.3.7.js"></script>
旧代码:
<script src="/socket.io/socket.io.js"></script>
我不知道
为什么你的代码不起作用,但如果 socket.io 安装正确,那么它会自动在 Express 中配置一个路由来为/socket.io/socket.io.js
请求提供服务。 因此,显然 socket.io 在您的情况下没有正确配置/安装。
我可以告诉你,Express和 socket.io 的这种初始化是有效的,并且没有你所说的问题:
var express = require('express');
var app = express();
var server = app.listen(80);
var io = require('socket.io')(server);
我在学习 Node.js 时在索引中遇到了同样的问题.html。控制台提示了类似的错误
我通过在项目目录中执行npm r socket.io
来删除 socket.io 模块,并使用npm i socket.io
重新安装它,然后它工作正常。
相关文章:
- 如何使用Socket.io将命令从客户端发送到服务器
- Socket.IO未定义变量
- Socket.io on Mozilla Rhino
- socket.io发射三次
- AngularJS$q承诺使用socket.io
- 如何知道使用socket.io订阅/取消订阅频道
- 通过socket.io发射给特定的人
- 通过socket.io从浏览器流式传输视频
- 通过node.js和socket.io向特定用户发送数据
- 如何使用socket.io在meanjs项目中配置jshint
- 如何使用Socket.io和Node.js开发大型聊天应用程序
- RangeError nodejs socket.io
- 通过node.js和socket.io在两个用户之间发送消息
- 使用socket.io更新express实时视图
- socket.io cookie解析握手错误
- 如何在同一端口上使用ExpressJS和Socket.io
- 使用cordova快速nodejs socket.io
- 通过socket.io与heroku应用程序进行通信
- Socket.io客户端在使用名称空间时忽略端口[Bug?]
- Node.js-socket.io-对io.sockets的引用突然未定义