Разъем.io работает на локальном хосте, но не при развертывании через Heroku

#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');   

Итак, я предполагаю, что именно здесь у меня возникают проблемы?

Я не уверен, куда идти дальше. Любые указания отсюда были бы весьма признательны. Спасибо, что уделили мне время.