ОШИБКА Ошибка: не перехвачено (в обещании): Ошибка: не удается сопоставить ни один маршрут. Сегмент URL: - PullRequest
1 голос
/ 09 июля 2020

У меня проблема с роутером моего приложения Angular. Я обслуживаю приложение и развернул его в производственной среде на сервере Apache. Я обслуживаю его с URL www.domain.com/clientng, и он работает правильно, но консоль браузера показывает эту ошибку, когда, например, я пытаюсь получить доступ к www.domain.com/clientng/home .

ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'clientng' Error: Cannot match any routes. URL Segment: 'clientng'

Моя конфигурация маршрутизатора:

const appRoutes: Routes = [
    { path: '', component: HomeComponent },
    { path: 'home', component: HomeComponent },
    { path: 'autologin', component: AutoLoginComponent },
    { path: 'forbidden', component: ForbiddenComponent },
    { path: 'unauthorized', component: UnauthorizedComponent },
];

Когда я компилирую приложение, я делаю это с помощью --base-href "/ clientng /" , поэтому index правильно отметил происхождение документов.

Apache Документ Root находится по адресу /home/user/appweb, а приложение angular развернуто по адресу /home/user/appweb/clientng

Да не понимаю, что происходит, потому что страницы отображаются правильно, и приложение работает хорошо, но консоль показывает эту ошибку.

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Ваша реализация маршрутизации должна определять маршрут полного соответствия:

   const appRoutes: Routes = [
     {
    path: '',
    redirectTo: "/home",
    pathMatch: 'full'
      },

        { path: 'home', component: HomeComponent },
        { path: 'autologin', component: AutoLoginComponent },
        { path: 'forbidden', component: ForbiddenComponent },
        { path: 'unauthorized', component: UnauthorizedComponent },
    ];
0 голосов
/ 09 июля 2020

модуль маршрутизации приложений

const routes: Routes = [
    {
        path: '', component: LayoutsComponent,
        children: [

            // { path: 'clienting', loadChildren: './components/clienting/clienting.module#ClientingModule'} , 
            

            { path: 'clienting', loadChildren: () => import('./components/clienting/clienting.module').then(m => m.ClientingModule)  },

....

затем в вашем клиентском модуле

используйте свой код

const appRoutes: Routes = [
    { path: '', component: HomeComponent },
    { path: 'home', component: HomeComponent },
    { path: 'autologin', component: AutoLoginComponent },
    { path: 'forbidden', component: ForbiddenComponent },
    { path: 'unauthorized', component: UnauthorizedComponent },
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...