#javascript #node.js #websocket
#язык JavaScript #node.js #websocket
Вопрос:
Я пытаюсь запустить этот веб-сайт Node.js приложение в моем браузере (приложение для чата в реальном времени). Он включает в себя файл сервера (index.js) и файл переднего плана (index.html)
HTML:
lt;htmlgt; lt;headgt; lt;titlegt;WebSocket Chatlt;/titlegt; lt;meta charset="UTF-8" /gt; lt;meta name="viewport" content="width=device-width, initial-scale=1.0" /gt; lt;link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"gt; lt;/headgt; lt;bodygt; lt;div class="h-screen w-screen flex flex-col justify-between"gt; lt;div id="chat" class="p-3 overflow-auto"gt; lt;/divgt; lt;div class="flex"gt; lt;input id="message" type="text" class="px-3 w-full border-t border-gray-300 outline-none text-gray-700" placeholder="Type your message..." /gt; lt;button class="px-8 py-3 bg-green-500 text-white hover:bg-green-600 transition-colors" onclick="sendMessage()"gt;Sendlt;/buttongt; lt;/divgt; lt;/divgt; lt;scriptgt; const ws = new WebSocket("ws://localhost:3000"); ws.addEventListener("message", function(event) { const data = JSON.parse(event.data); if (data.type === "message") { addMessage(data.data); } }); function sendMessage() { const message = document.getElementById("message").value; if (!message) return false; ws.send(JSON.stringify({ type: "message", data: message })); addMessage(message); document.getElementById("message").value = ""; } function addMessage(message) { const node = document.createElement("P"); const text = document.createTextNode(message); node.appendChild(text); node.classList.add("text-gray-700", "py-1"); document.getElementById("chat").appendChild(node); } lt;/scriptgt; lt;/bodygt; lt;/htmlgt;
JS:
import WebSocket, { WebSocketServer } from "ws"; const wss = new WebSocketServer({ port: 3000}); wss.on("connection", function connection(ws) { ws.on("message", function message(message) { const data = JSON.parse(message); if (data.type === "message") { wss.clients.forEach((client) =gt; { if (client !== ws amp;amp; client.readyState === WebSocket.OPEN) { client.send(JSON.stringify({ type: "message", data: data.data })); } }); } }); });
Но вместо запуска моего приложения я вижу пустую страницу с надписью «требуется обновление» сверху. В чем, по-видимому, проблема? Я также пытался изменить порты, но безрезультатно.