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.
3 Réponses :
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.
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
Vous pouvez essayer de résoudre ce problème de 2 manières:
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 }, ];
redirectTo
pour NotFoundComponent
.Veuillez consulter cet article pour plus de détails WildCardRoutes
Merci
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.
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