Javascript 找不到Socket.io 404

Javascript 找不到Socket.io 404,javascript,node.js,socket.io,pug,Javascript,Node.js,Socket.io,Pug,由于某些原因,当我在chrome开发者工具网络下查看时,我一直发现“404”未找到。我花了一个多小时试图理解为什么这不起作用,因为它以前工作得很好,我认为我没有改变任何事情 服务器: var express = require('express'), session = require('express-session'); var app = express(); var server = require('http').Server(app); var io = require(

由于某些原因,当我在chrome开发者工具网络下查看时,我一直发现“404”未找到。我花了一个多小时试图理解为什么这不起作用,因为它以前工作得很好,我认为我没有改变任何事情

服务器:

var express = require('express'),
    session = require('express-session');

var app = express();

var server = require('http').Server(app);
var io = require('socket.io')(server);
var MongoStore = require('connect-mongo')(session);

var sessionMiddleware = session({
    resave: false,
    saveUninitialized: false,
    secret: 'secret',
    store: new MongoStore({url: "mongodb://localhost:27017/database"})
});

app.use(sessionMiddleware);



io.use(sessionMiddleware, function(socket, next) {
    sessionMiddleware(socket.request, socket.request.res, next);
});

io.sockets.on('connection', function (socket) {
    console.log("Socket connected");
});

app.set('view engine', 'pug');
app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res) {
   res.render('index');
});

app.listen(3000);
console.log('listening');
Pug文件:

html
    head
        script(src="http://127.0.0.1:3000/socket.io/socket.io.js")
        script(type='text/javascript', src='../javascripts/chat.js')
    body
客户端javascript:

try {
    var socket = io.connect('http://127.0.0.1:3000');

} catch(e) {
    console.log(e);
}
更改此项:

app.listen(3000);
致:

app.listen()

有关
app.listen()
的功能以及为什么它不是您想要的代码布局方式的更多详细信息,请参阅此答案:


注意,您可以使用
app.listen()
,但您不必创建自己的服务器,您必须从
app.listen()
捕获返回值,并将其用作传递给socket.io初始化的服务器:

var app = express();
var server = app.listen(3000);
var io = require('socket.io')(server);

这并不是你的代码的结构(但你可以通过这种方式重新安排事情)。

你在浏览器中加载什么URL来加载网页?
var app = express();
var server = app.listen(3000);
var io = require('socket.io')(server);