He implementado mi pila mern en heroku con este código:
import express from "express"; import path from "path"; const app = express(); const port = process.env.PORT || 5000; app.get("/health-check", (req, res) => { res.sendStatus(200); }); if (process.env.NODE_ENV === "production") { app.use(express.static("client/build")); app.get("/*", function (req, res) { res.sendFile(path.join(__dirname, "./client/build/index.html")); }); } app.listen(port, () => console.log(`Listening on port ${port}`));Mi sitio web y el enrutamiento con react-router-dom funcionan perfectamente bien. Sin embargo, tengo dos problemas que no puedo resolver.
No encontrado (página en blanco con este mensaje)
OBTENGA https://website.herokuapp.com/login 404 (No encontrado)
Error al cargar el recurso: el servidor respondió con un estado de 404 (No encontrado)
No tengo idea de cómo eliminar esos errores, ya que he seguido todas las respuestas en stackOverflow y youtube.
Cualquier ayuda sería apreciada.
Muchas gracias.
Encontré la respuesta después de un tiempo.
Como soy un usuario mecanografiado y mi archivo de índice está dentro de la carpeta src, olvidé retroceder un nivel.
"../client/build/index.html"en vez de
"./client/build/index.html"índice completo.ts:
if (process.env.NODE_ENV === "production") { app.use(express.static("client/build")); app.get("*", (req, res) => { res.sendFile(path.join(__dirname, "../client/build/index.html")); }); }