Node.js Socket.IO自定义路径或命名空间出现问题

Node.js Socket.IO自定义路径或命名空间出现问题,node.js,socket.io,Node.js,Socket.io,经过授权后,用户被重定向到聊天的地址,但是当链接打开时,我在图片中看到一个错误,您可以看到错误 代码app.js app.use(express.static(path.join(__dirname, 'views'))); app.set("view engine", "hbs"); app.use(bodyParser.urlencoded({extended : false})); app.use(bodyParser.json()); app.use("/", userRoute

经过授权后,用户被重定向到聊天的地址,但是当链接打开时,我在图片中看到一个错误,您可以看到错误

代码app.js

   app.use(express.static(path.join(__dirname, 'views')));
app.set("view engine", "hbs");
app.use(bodyParser.urlencoded({extended : false}));
app.use(bodyParser.json());

app.use("/", userRouter);
app.use("/signup", signupRouter);

var server = require('http').createServer(app);

var io = require('socket.io')(server);
io.path('/home');

var controller = require('./controllers/chatController.js');
io.on('connection', controller.respond );
路由器

  const express = require("express");
  const userRouter = express.Router();
  var homeController = require('../controllers/homeController.js');
  userRouter.get("/home", homeController.home);
homeController.js

let user=require("../models/user.js");

exports.home = function(request, response) {
  let data=[request.session.username, request.session.username];
  if (request.session.loggedin) {
    user.getUser(data).then(function(item){

      response.render("index.hbs", {user:item[0]});
    });
  } else {
    response.send('Please login to view this page!');
  }

};
我使用把手和socket.io 2.3.0

我知道这是不是路径的问题?
如何解决此问题?

您希望通过使用自定义socket.io路径实现什么?如果您确实配置了自定义socket.io路径,则必须:1)使其与您将使用的任何页面URL不同且唯一;2)在服务器和客户端socket.io中配置相同的路径;3)调整从网页中加载客户端库的路径。换句话说,不要使用与网页相同的socket.io路径。所以,使用这个
userRouter.get(“/home”,homeController.home)
io.path('/home')将给您带来问题。socket.io路径应该对用户不可见,并且应该与其他URL中使用的任何内容都是唯一的。通常根本没有理由修改它。socket.io库所做的是为它使用的任何路径安装侦听器,并将该路径用于它自己的目的。只需删除所有自定义socket.io路径,一切都会好起来。谢谢,我删除了自定义路径,但我有错误。之后,我在文件应用程序中发现错误。这是否意味着它连接良好,然后您遇到了其他一些但不相关的错误?