Reputation: 11
i am working on an angular app and everything was working fine but all the sudden i start getting this error:
✘ [ERROR] NG8001: 'router-outlet' is not a known element:
1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. [plugin angular-compiler]
this is my app-routing module.ts :
import {NgModule} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import {MainComponent} from '@modules/main/main.component';
import {BlankComponent} from '@pages/blank/blank.component';
import {LoginComponent} from '@modules/login/login.component';
import {ProfileComponent} from '@pages/profile/profile.component';
import {RegisterComponent} from '@modules/register/register.component';
import {DashboardComponent} from '@pages/dashboard/dashboard.component';
import {AuthGuard} from '@guards/auth.guard';
import { ViewChild } from '@angular/core';
import {NonAuthGuard} from '@guards/non-auth.guard';
import {ForgotPasswordComponent} from '@modules/forgot-password/forgot-password.component';
import {RecoverPasswordComponent} from '@modules/recover-password/recover-password.component';
import {SubMenuComponent} from '@pages/main-menu/sub-menu/sub-menu.component';
import { HomepageComponent } from '@pages/homepage/homepage.component';
import { NotificationComponent } from '@pages/notification/notification.component';
const routes: Routes = [
{
path: '',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: '',
component: MainComponent,
// canActivate: [AuthGuard],
// canActivateChild: [AuthGuard],
children: [
{
path: 'homepage',
component: HomepageComponent
},
{
path: 'notification',
component: NotificationComponent
},
{
path: 'sub-menu-1',
component: SubMenuComponent
},
{
path: 'sub-menu-2',
component: BlankComponent
},
{
path: '',
component: DashboardComponent
},
]
},
{
path: 'login',
component: LoginComponent,
canActivate: [NonAuthGuard]
},
{
path: 'register',
component: RegisterComponent,
canActivate: [NonAuthGuard]
},
{
path: 'forgot-password',
component: ForgotPasswordComponent,
canActivate: [NonAuthGuard]
},
{
path: 'recover-password',
component: RecoverPasswordComponent,
canActivate: [NonAuthGuard]
},
{path: '**', redirectTo: ''}
];
@NgModule({
imports: [RouterModule.forRoot(routes, {})],
exports: [RouterModule]
})
export class AppRoutingModule {}
and here is my app.module.ts, as you can see i have already imported the router module :
import { RouterTestingModule } from '@angular/router/testing';
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi} from '@angular/common/http';
import {ViewChild} from '@angular/core';
// import { RouterTestingModule } from '@angular/router/testing';
import { Router } from '@angular/router';
import { RouterModule } from '@angular/router';
import { NotificationComponent } from '@pages/notification/notification.component';
import { DropdownModule } from 'primeng/dropdown';
import {AppComponent} from './app.component';
import {MainComponent} from '@modules/main/main.component';
import {LoginComponent} from '@modules/login/login.component';
import {HeaderComponent} from '@modules/main/header/header.component';
import {FooterComponent} from '@modules/main/footer/footer.component';
import {MenuSidebarComponent} from '@modules/main/menu-sidebar/menu-sidebar.component';
import {BlankComponent} from '@pages/blank/blank.component';
import {ReactiveFormsModule} from '@angular/forms';
import {ProfileComponent} from '@pages/profile/profile.component';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {RegisterComponent} from '@modules/register/register.component';
import {DashboardComponent} from '@pages/dashboard/dashboard.component';
import {ToastrModule} from 'ngx-toastr';
import {MessagesComponent} from '@modules/main/header/messages/messages.component';
import {NotificationsComponent} from '@modules/main/header/notifications/notifications.component';
import {CommonModule, registerLocaleData} from '@angular/common';
import localeEn from '@angular/common/locales/en';
import {UserComponent} from '@modules/main/header/user/user.component';
import {ForgotPasswordComponent} from '@modules/forgot-password/forgot-password.component';
import {RecoverPasswordComponent} from '@modules/recover-password/recover-password.component';
import {LanguageComponent} from '@modules/main/header/language/language.component';
import {MainMenuComponent} from './pages/main-menu/main-menu.component';
import {SubMenuComponent} from './pages/main-menu/sub-menu/sub-menu.component';
import {MenuItemComponent} from './components/menu-item/menu-item.component';
import {ControlSidebarComponent} from './modules/main/control-sidebar/control-sidebar.component';
import {StoreModule} from '@ngrx/store';
import {authReducer} from './store/auth/reducer';
import {uiReducer} from './store/ui/reducer';
import {ProfabricComponentsModule} from '@profabric/angular-components';
// import {SidebarSearchComponent} from './components/sidebar-search/sidebar-search.component';
import {NgxGoogleAnalyticsModule} from 'ngx-google-analytics';
import {environment} from 'environments/environment';
import {ActivityTabComponent} from './pages/profile/activity-tab/activity-tab.component';
// import {TimelineTabComponent} from './pages/profile/timeline-tab/timeline-tab.component';
import {SettingsTabComponent} from './pages/profile/settings-tab/settings-tab.component';
import {PostComponent} from './pages/profile/post/post.component';
import {InfoBoxComponent} from './components/info-box/info-box.component';
import {SmallBoxComponent} from './components/small-box/small-box.component';
import {ContentHeaderComponent} from './components/content-header/content-header.component';
import {LoadingComponent} from './components/loading/loading.component';
import {OverlayLoadingComponent} from './components/overlay-loading/overlay-loading.component';
import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
import {HomepageComponent} from './pages/homepage/homepage.component';
import {HomepageformComponent} from './components/homepageform/homepageform.component';
import { TokenInterceptor } from './Interceptors/token.interceptor';
registerLocaleData(localeEn, 'en-EN');
@NgModule({
declarations: [
NotificationComponent,
// BreakpointObserver,
MainComponent,
LoginComponent,
HeaderComponent,
FooterComponent,
MenuSidebarComponent,
BlankComponent,
ProfileComponent,
RegisterComponent,
DashboardComponent,
MessagesComponent,
NotificationsComponent,
UserComponent,
ForgotPasswordComponent,
RecoverPasswordComponent,
LanguageComponent,
MainMenuComponent,
SubMenuComponent,
MenuItemComponent,
ControlSidebarComponent,
ActivityTabComponent,
// TimelineTabComponent,
SettingsTabComponent,
PostComponent,
InfoBoxComponent,
SmallBoxComponent,
ContentHeaderComponent,
LoadingComponent,
OverlayLoadingComponent,
HomepageComponent,
HomepageformComponent,
],
bootstrap: [AppComponent],
imports: [
BrowserModule,
RouterModule,
ProfabricComponentsModule,
CommonModule,
BrowserModule,
ReactiveFormsModule,
BrowserAnimationsModule,
ToastrModule.forRoot({
timeOut: 3000,
positionClass: 'toast-top-right',
preventDuplicates: true
}),
NgxGoogleAnalyticsModule.forRoot(environment.GA_ID),
FontAwesomeModule
],
providers: [
provideHttpClient(withInterceptorsFromDi()),
{
provide: HTTP_INTERCEPTORS,
useClass: TokenInterceptor,
multi: true
},
]
})
export class AppModule {}
I have tried everything from the other similar questions on stackoverflow. ive tried restarting, ive tried reverting to my previous git commit and ive reinstalled npm packages.. im not sure what i can do now.
Upvotes: 1
Views: 83
Reputation: 57986
You forgot to import AppRoutingModule
in the app.module.ts
imports: [
...
AppRoutingModule,
...
],
Upvotes: 1