DEV Community

Obed Sánchez
Obed Sánchez

Posted on

Problemas con React Router y su Deployment en Netlify

Tenía problemas para que la rutas creadas con React Router V6 funcionaran en producción, intenté subir mi app en github-pages, keroku y nada... investigué y así lo pude solucionar.

Netlify tiene una configuración para que las request siempre redirijan al index.html, que es básicamente la raíz del problema que tenemos. Si ponemos en el navegador http://host/clientes/nuevo, por ejemplo, al no existir realmente ese archivo nuevo.html en el proyecto, el servidor lanza el Not Found, aunque esa ruta exista en nuestro proyecto.

Para solucionarlo puedes intentar hacer lo siguiente.

  1. Hagan la build de su aplicación con npm run build, yo usé Vite como empaquetador

  2. Pueden hacer npm run preview para comprobar que funciona la aplicación construida para producción.

  3. El la carpeta dist que se crea al hacer el build agregen un archivo llamado __redirects , así sin extensión ni nada, ojo que son dos guiones bajos "_" al inicio.

  4. En ese archivo pongan lo siguiente: /* /index.html 200 , sin más, lo guardan y listo

  5. Hagan el deploy manual en Netlify, arrastran la carpeta dist y ya, con eso debería ser suficiente.

Aquí les dejo de la información en inglés al respecto: https://chrisotto.dev/react-netlify-client-side-routing/

Otra cosa... sé que si se hace el back-end en Express o similares, ya tienen opciones para que este error no pase. En mi caso no tenía ningún back construido.

Espero les ayude.

Saludos de un Noobdev

Let's keep coding

ObedSAGA

Top comments (0)