我想在客户端脚本中使用由socket.io软件包分发的客户端。
这就是我所做的:
const IOserver = io.listen(server, { serveClient: true, path: "/socket.io.client.js" });
但是当我尝试在该路径http://localhost:1337/socket.io.client.js
上访问socket.io客户端时,出现404错误。
如何正确设置socket.io以提供客户端JavaSript文件?
答案 0 :(得分:0)
我认为您对path属性的作用感到困惑。 path
是它用来连接到Websocket服务器的端点。
您需要手动管理前端js客户端的安装。它不会从您的服务器获取。
答案 1 :(得分:0)
我刚遇到问题。
如果要使serverClient选项起作用,则需要执行以下操作:
http
版本
// app.js file
const server = require('http').createServer((req, res) => {
fs.readFile(__dirname + '/index.html',
(err, data) => {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
});
const io = require('socket.io')(server, { serveClient: true });
server.listen(1234, () => {
console.log('Server listening at http://localhost:1234.');
})
或express
版本:
const express = require('express');
const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server, { serveClient: true });
server.listen(1234, () => {
console.log('Server listening at http://localhost:1234.');
})
然后,您可以通过链接socket.io.js
获得http://localhost:1234/socket.io/socket.io.js
文件,或者通过链接socket.io.js.map
获得http://localhost:1234/socket.io/socket.io.js.map
文件。