Tengo un problema extraño con algunos archivos javascript en mi archivo index.html. Recientemente agregué un componente no encontrado a mi proyecto al agregar la siguiente ruta:
{ path: '**', component: NotFoundComponent },Mi componente no encontrado funciona muy bien si agrego texto al final de la URL. Pero si agrego un "/" a la ruta, mis archivos javascript cambian la ruta donde el .html busca los archivos javascript. Estos archivos javascript están todos ubicados en el directorio src del proyecto.
Un fragmento de mi código: index.html
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>EEOI</title> <!-- <base href="/"> --> <script src="env.js"></script> </head> <body> <app-root></app-root> </body> </html>Por ejemplo, tengo una ruta llamada 'instrucciones'. Si estoy en http://localhost:4200/instructions, todo el navegador busca correctamente en http://localhost:4200/env.js para env.js, y todo se carga correctamente.
Sin embargo, si escribo una ruta que no existe, como "http://localhost:4200/instructions/foo", mi navegador recibe errores de carga de javascript porque está intentando cargar env.js desde "http://localhost: 4200/instrucciones/foo/env.js".
¿Cómo puedo hacer que el navegador cargue siempre el archivo .js desde el directorio raíz del proyecto?
En su archivo app-routing.module.ts , puede agregar una redirección a la ruta base de la siguiente manera:
//previous code const routes: Routes = [{ path:'instructions', component:NotFoundComponent },{ path:'instructions/:var', pathMatch:'prefix', redirectTo:'instructions' }] // more codeSin embargo, esta regla de redirección es más bien una solución, ya que no permite iniciar su código .js desde una dirección diferente a http://localhost:4200/instructions.