Estoy haciendo una aplicación Adonis v5 con Vue 2 como interfaz. Mi problema es que, una vez que construí la interfaz de Vue en la carpeta pública de adonis. Si accedo a una ruta específica escribiéndola en el buscador superior del navegador, obtengo E_ROUTE_NOT_FOUND de Adonis.
Creo que Adonis está tratando de buscar la ruta en el enrutador del servidor y no en el enrutador Vue. Aunque adonis está configurado para usar archivos estáticos y la primera página de inicio funciona:
Vue enrutador.js:
Vue.use(VueRouter); const routes = [ { path: "/", redirect: { name: "acceso" }, }, { path: "/acceso", name: "acceso", component: SignupView, meta: { guestAllow: true }, }]; const router = new VueRouter({ mode: "history", routes, });Adonis route.ts (No debería afectar ya que tiene un prefijo:
Route.group(() => { Route.group(() => { Route.post("register", "AuthController.register"); Route.post("login", "AuthController.login"); }).prefix("auth"); Route.group(() => { Route.get("logs", "LogsController.index"); }).middleware("auth:api"); }).prefix("/api");Adonis estático.ts:
import { AssetsConfig } from '@ioc:Adonis/Core/Static' const staticConfig: AssetsConfig = { enabled: true, dotFiles: 'ignore', etag: true, lastModified: true, maxAge: 0, immutable: false, }Si escribo localhost:3333 en el navegador me redirecciona a /access (Correcto)
Pero si actualizo la página o navego manualmente por la misma ruta, aparece el error
¿Alguna idea de que puede ser? Gracias por tu tiempo.
Después de buscar otros proyectos en Internet, he visto que si usa el mode: "history" en vue-router aparece el error.
Así que intenté comentar esta línea y ahora puedo actualizar la página sin el error E_ROUTE_NOT_FOUND .
Interfaz Vue router.js:
const router = new Router({ //mode: "history", routes, });