我正在开发Angular App(版本4.2.5),App.Module文件分为3个文件:App.Browser.Module.ts,App.Server.Module.ts和App.Shared.Module .TS。
这与我创建的最后一个Angular App(Angular版本4.1.2)不同。它还有3个app.module文件。但这些名称不同,行为似乎有点不同。
调用了文件:app.module.client.ts,app.module.server.ts和app.module.shared.ts。
关于Angular App(4.1.2)的好处。我尽可能多地放入app.module.shared.ts(例如也是bootstrap组件),如下所示:bootstrap: [AppComponent]
然后在App.module.client.ts和app.module.server.ts中调用该片段,如下所示:
bootstrap: [sharedConfig.bootstrap]
在旧版本中,我看到NgModule正在导出为常量(这就是我认为它正常工作的原因):
export const sharedConfig: NgModule = {
declarations: [
AppComponent,
HomeComponent,
HeaderComponent,
ProductionfileComponent,
ProductionFileSummary,
ProductionFileDetailComponent,
LoginComponent
],
imports: [
RouterModule.forRoot([
{ path: '', redirectTo: 'login', pathMatch: 'full' },
{ path: 'login', component: LoginComponent },
{ path: 'productionFiles', component: ProductionfileComponent, canActivate: [ AuthGuard ] },
{ path: 'productionfiledetail/:prodHeaderOrdNr', component: ProductionFileDetailComponent, canActivate: [ AuthGuard ] },
{ path: '**', redirectTo: 'login' }
]),
BrowserModule,
FormsModule
],
providers: [AuthGuard],
bootstrap: [AppComponent]
};
在新的app.module文件(角度版本4.2.5)中,这不起作用。为什么会改变?有人可以解释一下。我知道我可以更改App.Shared.Module.ts中的代码,与app.module.server.ts中的代码相同,但我不明白为什么模板被更改。所以有人可以解释一下......