Я пытался найти источник ошибки в следующем коде:
const express = require("express");
const path = require("path");
const WebSocket = require("ws");
const SocketServer = WebSocket.Server;
const PORT = process.env.PORT || 3000; // port to listen on
const INDEX = path.join(__dirname, "index.html"); // index address
var server = express();
server.use((req, res) => res.sendFile(INDEX));
server.listen(PORT, () => console.log(`Listening on port ${ PORT }`));
const wss = new SocketServer({server}); // wss = web socket server
(у меня есть код ниже для подключения и т. Д., Который, я думаю, не имеет отношения к этому вопросу)
После этого я получаю следующую ошибку от клиента в браузере:
Сбой подключения WebSocket к 'ws: // localhost: 3000 /': Соединение закрыто до получения ответа на рукопожатие
Что меня смущает, так это то, что код работает, если я сделаю следующее изменение:
var server = express()
.use((req, res) => res.sendFile(INDEX));
.listen(PORT, () => console.log(`Listening on port ${ PORT }`));
Проблема этого метода в том, что он не работает для добавления в другой .use до существующего .use,что необходимо для доступа к статическим файлам (т. е. javascript как его собственный файл, а не как файл HTML)
Почему изменение моего кода между этими двумя примерами нарушает его?Что я могу сделать, чтобы решить эту проблему?
Спасибо