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

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

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

У меня есть страница входа в систему, которая перенаправляет пользователя в зависимости от его свойства роли, если это 'ADMIN', тогда он может получить доступ к панели инструментов ngx-admin, а если нет, то он может перейти на домашнюю страницу, но только если он сначала перейдет на страницу входа, потому что Я не добавлял метод canActivate в маршрут домашней страницы.

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

import { ExtraOptions, RouterModule, Routes } from '@angular/router';
import { NgModule } from '@angular/core';
import {
  NbAuthComponent,
  NbLoginComponent,
  NbLogoutComponent,
  NbRegisterComponent,
  NbRequestPasswordComponent,
  NbResetPasswordComponent,
} from '@nebular/auth';
import { AuthGuard } from './auth-guard.service';
import { HomepageComponent } from './homepage/homepage.component';

const routes: Routes = [
  { path: 'home', component: HomepageComponent },
  { path: 'users', loadChildren: 'app/pages/pages.module#PagesModule', canActivate: [AuthGuard] },
  {
    path: 'auth',
    component: NbAuthComponent,
    children: [
      {
        path: '',
        component: NbLoginComponent,
      },
      {
        path: 'login',
        component: NbLoginComponent,
      },
      {
        path: 'register',
        component: NbRegisterComponent,
      },
      {
        path: 'logout',
        component: NbLogoutComponent,
      },
      {
        path: 'request-password',
        component: NbRequestPasswordComponent,
      },
      {
        path: 'reset-password',
        component: NbResetPasswordComponent,
      },
    ],
  },
  { path: '**', pathMatch: 'full', redirectTo: 'home' },
];

const config: ExtraOptions = {
  useHash: true,
};

@NgModule({
  imports: [RouterModule.forRoot(routes, config)],
  exports: [RouterModule],
})
export class AppRoutingModule {}

person stackssssss    schedule 10.05.2019    source источник
comment
Что вы имеете в виду, говоря, что приложение продолжает загружаться? Похоже, вы получаете сообщение об ошибке, проверьте свою консоль.   -  person ViqMontana    schedule 10.05.2019
comment
Я уже проверил и ошибок нет. Каждый раз, когда я набираю localhost: 4200 / home, firefox продолжает загружаться, и ничего не происходит   -  person stackssssss    schedule 10.05.2019
comment
Попробуйте поискать в консоли в Chrome.   -  person ViqMontana    schedule 10.05.2019
comment
Я тоже пробовал в Chrome, но все равно получаю то же самое, без ошибок в консоли   -  person stackssssss    schedule 10.05.2019
comment
И по какой-то причине, когда я перехожу к «localhost: 4200 / home», он показывает «localhost: 4200 / home #». Это почему?   -  person stackssssss    schedule 10.05.2019