import { NgModule, ModuleWithProviders } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { RouterModule } from '@angular/router'; import { AppRoot } from './app-root/app-root'; import { moduleList } from './module-list'; import { routing, appRoutingProviders } from './app.routing'; import { UiModule } from './../ui/index'; @NgModule({ declarations:[ AppRoot ], imports: [ BrowserModule, CommonModule, FormsModule, moduleList, RouterModule, routing, UiModule ], providers: [ appRoutingProviders ], exports: [ AppRoot ], entryComponents: [ AppRoot ], bootstrap: [ AppRoot ] }) export class StartupModule { static forRoot(appModule:any) { moduleList.push(appModule) } }