2

Hey I've just tried to set up lazy loading of modules in my application but I'm getting this error I was following a tutorial but obviously they didnt get the same errors

enter image description here

my set up is as follows

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule, Routes, ActivatedRoute, ParamMap } from '@angular/router';
import { HttpClientModule } from '@angular/common/http';
import { environment } from '../environments/environment';
import { ServiceWorkerModule } from '@angular/service-worker';
import { OurWorkModule } from './our-work/our-work.module';
import { ourWorkRouting } from './our-work/our-work-routing.module';
import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { FooterComponent } from './shared/footer/footer.component';
import { WhatWeDoComponent } from './what-we-do/what-we-do.component';
import { HeaderComponent } from './shared/header/header.component';
import { OurProcessComponent } from './our-process/our-process.component';
import { OurTechnologyComponent } from './our-technology/our-technology.component';
import { GetInTouchComponent } from './get-in-touch/get-in-touch.component';

export const ROUTES: Routes = [
   { path: '', component: HomeComponent, pathMatch: 'full' },
   { path: 'what-we-do', component: WhatWeDoComponent},
   { path: 'our-work', loadChildren: 'app/our-work/our-work.module#OurWorkModule' },
   { path: 'our-technology', component: OurTechnologyComponent},
   { path: 'get-in-touch', component: GetInTouchComponent },
   { path: '**', redirectTo: ''}
];

@NgModule({
   declarations: [
      AppComponent,
      HomeComponent,
      FooterComponent,
      WhatWeDoComponent,
      HeaderComponent,
      OurProcessComponent,
      OurTechnologyComponent,
      GetInTouchComponent,
      HeaderHomeComponent,
   ],
  imports: [
     BrowserModule,
     LazyLoadImageModule,
     RouterModule.forRoot(ROUTES),
     FormsModule,
     HttpModule,
     HttpClientModule,
     ourWorkRouting,
     OurWorkModule,
     environment.production ? ServiceWorkerModule.register('/ngsw-worker.js') : [],
  ],
      providers: [EmailService],
      bootstrap: [AppComponent]
  })
  export class AppModule { }

our-work-module.ts

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule, Routes, ActivatedRoute, ParamMap } from '@angular/router';
import { OurWorkComponent } from './our-work.component';


@NgModule({
    imports: [
        CommonModule,
        RouterModule
    ],
    declarations: [
        OurWorkComponent,

    ]

})
export class OurWorkModule {}

our-work-routing.module.ts

import { Routes, RouterModule } from '@angular/router';
import { OurWorkComponent } from './our-work.component';

const ourWorkRoutes: Routes = [
    { path: '', component: OurWorkComponent }
];

export const ourWorkRouting = RouterModule.forChild(ourWorkRoutes);

this is the first time Ive tried to lazyload a module or set up a feature module so any help would be appreciated!

Thanks

1
  • 1
    you didn't add the ourWorkRouting in your our-work-module.ts Commented Feb 1, 2018 at 7:26

1 Answer 1

3

Here's how my lazy loaded module looks, hope it helps you

import { NgModule, ApplicationRef, APP_BOOTSTRAP_LISTENER, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { APP_BASE_HREF, CommonModule } from '@angular/common';
import { Http, HttpModule } from "@angular/http";
import { RouterModule } from '@angular/router';
import { FormsModule } from '@angular/forms';

import { OurWorkComponent } from './our-work.component';

@NgModule({
    declarations: [
        OurWorkComponent
    ],
    imports: [
        CommonModule,
        FormsModule,
        HttpModule,
        RouterModule.forChild([
            { path: '', component: OurWorkComponent }
        ])
    ],
    providers : [
        //add services and other providers
    ],
    schemas: [ NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA ]
})

export class FeaturedModule { }

I think you didn't add you ourWorkRouting in your our-work-module.ts

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.