acabo de crear mi primer sitio web con react.js. cuando lo ejecuto, todo funciona y puedo ver todas las páginas (por lo que todos los enrutadores funcionan correctamente hasta ahora).
quería alojar mi sitio con firebase y todo funcionó, obtuve un dominio y con eso puedo acceder a la página de inicio de sesión desde mi sitio web. Url: tracker-2baa0.web.app Pero cuando quiero cambiar la página, por ejemplo, quiero cambiar al "/ menú" haciendo clic en el símbolo de la casa en la esquina superior izquierda, aparece el mensaje de error "404 Página no encontrada".
He leído de otros que tengo que volver a escribir el archivo firebase.json, pero no sé qué significa exactamente eso. específicamente cómo necesito escribir las reescrituras para los enrutadores individuales.
este es mi archivo firebase.json:
{ "firestore": { "rules": "firestore.rules", "indexes": "firestore.indexes.json" }, "hosting": { "public": "build", "rewrites": [ { "source": "/Menu/*", "destination": "/Menu" }], "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ] }, "storage": { "rules": "storage.rules" } }y mi enrutamiento:
var App = () => { var currentUserName = "" return ( <AuthProvider> <Router> <Switch> <Route path ='/menu' exact component={Menu} /> <Route path ='/add' exact component={Add} /> <Route path = '/add-Evaluation' component ={AddEvaluation}/> <Route path ='/login' exact component={Login} /> <Route exact path="/signup" component = {SignUp} /> <Route path ="/projekt" exact component={Projekt} /> <Route path ="/Contact" exact component={Contact} /> <PrivateRoute exact path="/" component = {Home} /> </Switch> </Router> </AuthProvider> ); }No tengo experiencia con alojamiento y estaría muy feliz si alguien pudiera ayudarme o darme algún consejo sobre qué buscar.
saludo amoroso
Si su aplicación es una "aplicación web progresiva" o PWA , lo más probable es que desee volver a escribir todas las rutas al índice. Esto normalmente se hace con las siguientes reescrituras:
"rewrites": [ { "source": "**", "destination": "/index.html" } ] Esto se debe a que los marcos modernos como reaccionar no cambian la página, sino que editan la página de inicio index.html con el contenido de la página según la ruta de la URL.
Puede configurar otras reescrituras de las funciones de la nube y otras cosas geniales. Puede ver un ejemplo completo en la documentación de las muchas características que admite el alojamiento de Firebase aquí .
También es importante que borre su caché para asegurarse de que está viendo cambios en el lado del servidor.