Tengo un problema con el enrutamiento cuando construyo mi aplicación con ng build --prod. El router.config no registra estas rutas solo en el entorno de producción.
error: No capturado (en promesa): Error: No se puede hacer coincidir ninguna ruta. Segmento de URL: 'myvehicle'↵Error: No se puede hacer coincidir ninguna ruta. Segmento de URL: 'mivehiculo'
enrutamiento de vehículos.módulo.ts
import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { ConfigService } from '../../core/services/config/config.service'; import { VehicleComponent } from './vehicle.component'; const vehicleRoutes: Routes = []; ConfigService.scope('vehicle').getConfig().map(vehicle => { vehicleRoutes.push({ path: vehicle['informations']['route'], component: VehicleComponent, }); }); @NgModule({ imports: [RouterModule.forChild(vehicleRoutes)], exports: [RouterModule], }) export class VehicleRoutingModule { } export const routedComponents = [VehicleComponent];encabezado.componente.html
<a [routerLink]="[vehicleService.getRoute(vehicle.id)]">...El enrutamiento funciona cuando uso el siguiente código en lugar del código anterior:
const vehicleRoutes: Routes = [ { path: "test-a", component: VehicleComponent, },{ path: "test-b", component: VehicleComponent, } ];Verifiqué el valor de la ruta y es el mismo en ambos sentidos, así como en la salida de console.log (vehicleRoutes) en el entorno dev/prod.
pd: la ruta se carga a través de una solicitud http porque se basa en el conjunto de slug en la oficina administrativa.
Proporcione la URL base en el archivo index.html en la etiqueta base
Ejemplo :
<base href="https://www.w3schools.com/images/" target="_blank">