diff --git a/modules/@angular/router/src/router_config_loader.ts b/modules/@angular/router/src/router_config_loader.ts index 1643068ab69c..fe27915e261a 100644 --- a/modules/@angular/router/src/router_config_loader.ts +++ b/modules/@angular/router/src/router_config_loader.ts @@ -44,10 +44,13 @@ export class RouterConfigLoader { if (typeof loadChildren === 'string') { return fromPromise(this.loader.load(loadChildren)); } else { - const offlineMode = this.compiler instanceof Compiler; - return mergeMap.call( - wrapIntoObservable(loadChildren()), - (t: any) => offlineMode ? of (t) : fromPromise(this.compiler.compileModuleAsync(t))); + return mergeMap.call(wrapIntoObservable(loadChildren()), (t: NgModuleFactory| any) => { + if (t instanceof NgModuleFactory) { + return of (t); + } else { + return fromPromise(this.compiler.compileModuleAsync(t)); + } + }); } } }