0
votes

Route générique ajoutée mais toujours pour une route non définie Impossible de GET /

J'utilise Angular 6 dans mon projet. J'ai ajouté une route générique mais je suis toujours confrontée à l'erreur lorsque je vais sur une route non définie angulaire donne Cannot GET /<path> dans le navigateur.

Ci-dessous mes itinéraires, tous les autres itinéraires définis fonctionnent parfaitement mais le caractère générique ne fonctionne pas

//Can not use hash base routing in my case
RouterModule.forRoot(AppRoutes, { useHash: true }),

Les itinéraires sont importés par défaut.

imports: [
 BrowserModule,
 ReactiveFormsModule,
 NgxPaginationModule,
 .
 .
 . 
 RouterModule.forRoot(AppRoutes),
],

Pour une raison quelconque, je ne pouvais pas utiliser le routage basé sur le hachage

const AppRoutes: Routes = [
 { path: '', redirectTo: 'login', pathMatch: 'full' },
 { path: "register", component: RegisterComponent },
 { path: "login", component: LoginComponent },
 { path: "dashboard", component: DashboardComponent, canActivate: [AuthGuard] },
 { path:"backup",component:BackupComponent},
 { path: '**', component: NotFoundComponent },
];

Je pense que le caractère générique devrait fonctionner sans routage basé sur le hachage. Faites-moi savoir où je vais mal.


1 commentaires

J'exécute l'application avec le backend dans NodeJS, j'exécute Angular et Node sur le même port via ng-build et node app.js Lorsque j'exécute angular avec ng serve, cela fonctionne bien, mais pas avec ng build


3 Réponses :


0
votes

Il ne semble y avoir aucun problème avec vos itinéraires définis. Cependant, consultez cet article pour tout problème avec votre routage basé sur le hachage.


1 commentaires

J'exécute l'application avec le backend dans NodeJS, j'exécute Angular et Node sur le même port via ng-build et node app.js Lorsque j'exécute angular avec ng serve, cela fonctionne bien, mais pas avec ng build



0
votes

Vous pouvez essayer de résoudre ce problème de 2 manières:

  1. Essayez de changer l'ordre de l'itinéraire parent et de l'itinéraire générique, comme
const AppRoutes: Routes = [
 { path: "register", component: RegisterComponent },
 { path: "login", component: LoginComponent },
 { path: "dashboard", component: DashboardComponent, canActivate: [AuthGuard] },
 { path:"backup",component:BackupComponent},
 { path: '', redirectTo: 'login', pathMatch: 'full' },
 { path: '**', component: NotFoundComponent },
];
  1. Utilisez redirectTo pour NotFoundComponent .

Veuillez consulter cet article pour plus de détails WildCardRoutes

Merci


0 commentaires

0
votes

J'exécutais l'application avec le backend dans NodeJS, exécutant Angular et Node sur le même port via ng-build et node app.js Lorsque j'exécute angular avec ng serve, cela fonctionne bien, mais pas avec ng build, mais en production tout semble bon et caractère générique fonctionnant comme prévu.


0 commentaires