我试图在我的node.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>
2 回答
您的index.html代码找不到socket.io,因为您只发送了Index.html作为响应 . 请尝试以下代码 .
使用以下代码:
删除以下代码 . Node.js会自动找到index.html .
更改index.html新代码:
旧代码:
我没有't know exactly why your code isn'工作,但如果正确安装了socket.io,那么它会自动在Express中配置路由以满足
/socket.io/socket.io.js
的请求 . 所以,显然在你的情况下没有正确配置/安装socket.io .我可以告诉你,这个Express和socket.io的初始化工作,并没有你说的问题: