import { CommonModule } from '@angular/common'; import { NgModule, Optional, SkipSelf } from '@angular/core'; import { RouterModule } from '@angular/router'; import { FooterComponent } from './components/footer/footer.component'; import { LogoComponent } from './components/logo/logo.component'; import { NavbarComponent } from './components/navbar/navbar.component'; import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component'; import { throwIfAlreadyLoaded } from './guards/module-import.guard'; @NgModule({ declarations: [FooterComponent, LogoComponent, NavbarComponent, PageNotFoundComponent], imports: [CommonModule, RouterModule], exports: [FooterComponent, LogoComponent, NavbarComponent, PageNotFoundComponent], }) export class CoreModule { constructor(@Optional() @SkipSelf() parentModule: CoreModule) { throwIfAlreadyLoaded(parentModule, 'CoreModule'); } }