#node.js #reactjs #socket.io
#node.js #реагирует на #socket.io
Вопрос:
Мой интерфейс построен с помощью react, а бэкэнд-с node.js
для серверной части по index.js файл:
var express = require("express"); var path = require("path"); var app = express(); const http = require('http').createServer(app); const PORT = process.env.PORT || 3002; var cors = require("cors"); app.use(cors()); if (process.env.NODE_ENV === 'production') { app.use(express.static("client/build")); } const mongoose = require("mongoose"); const io = require("socket.io")(http, { cors: { origin: "*", }, }); require("dotenv/config"); mongoose.connect(process.env.DB_CONNECTION, (err, db) =gt; { console.log("Succesfully connected to MongoDB"); io.on("connection", (socket) =gt; { /// Interacts with mongodb }); }); http.listen(PORT, () =gt; console.log("Connected"))
и на интерфейсе:
import React from 'react'; import io from 'socket.io-client'; const socket = io(); if(socket !== undefined){ console.log('connected to socket') socket.on('message', (data) =gt; { // Does stuff }); });
Локально это работает так, как задумано, пока на интерфейсе я меняю:
const socket = io();
Для:
const socket = io('http://localhost:3002');
Итак, я предполагаю, что именно здесь у меня возникают проблемы?
Я не уверен, куда идти дальше. Любые указания отсюда были бы весьма признательны. Спасибо, что уделили мне время.