Olá, Thiago. Tudo bem?
Você está no caminho certo ao configurar o socket
no documento.js
para se conectar ao servidor na porta 3000 com const socket = io("http://localhost:3000");
.
Quanto ao servidor.js
, não é necessário alterar o caminho do diretorioPublico
para apontar para o front-end. Essa variável geralmente é usada para servir arquivos estáticos, como HTML, CSS e JavaScript, a partir do servidor. Se o seu front-end está rodando em uma porta diferente (5000), ele está sendo servido por outro servidor (como o create-react-app
, por exemplo), e você não precisa alterar o diretorioPublico
no seu servidor Node.js.
Sobre a separação de front-end e back-end, é uma prática comum e recomendada em muitos casos. Essa separação permite que você desenvolva e escale cada parte de forma independente. O front-end pode ser servido por um servidor web (como o Nginx ou Apache) ou por um serviço de hospedagem de front-end, enquanto o back-end pode ser hospedado em um servidor ou serviço diferente.
Espero ter ajudado.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!