Angular app.module.shared.ts和app.shared.module.ts之间的差异

Angular app.module.shared.ts和app.shared.module.ts之间的差异,angular,Angular,我正在开发Angular应用程序(版本4.2.5),App.Module文件分为3个文件:App.Browser.Module.ts、App.Server.Module.ts和App.Shared.Module.ts。 这与我上次创建的Angular应用程序(Angular版本4.1.2)不同。它还有3个app.module文件。但是它们的名字不同,行为也似乎有点不同。 文件被调用:app.module.client.ts、app.module.server.ts和app.module.shar

我正在开发Angular应用程序(版本4.2.5),App.Module文件分为3个文件:App.Browser.Module.ts、App.Server.Module.ts和App.Shared.Module.ts。 这与我上次创建的Angular应用程序(Angular版本4.1.2)不同。它还有3个app.module文件。但是它们的名字不同,行为也似乎有点不同。 文件被调用:app.module.client.ts、app.module.server.ts和app.module.shared.ts。 Angular应用程序的好处是(4.1.2)。我在app.module.shared.ts(例如bootstrap组件)中输入了同样多的内容,如下:
bootstrap:[AppComponent]
然后在App.module.client.ts和App.module.server.ts中调用该片段,如下所示:

bootstrap: [sharedConfig.bootstrap]
在旧版本中,我看到NgModule作为常量导出(我认为这就是它工作的原因):

})


在新的app.module文件(angular版本4.2.5)中,这不起作用。为什么要改变?有人能解释一下吗。我知道我可以将App.Shared.Module.ts中的代码更改为App.Module.server.ts中的代码,但我不明白为什么要更改模板。因此,请有人再次解释一下……

app.module.server.ts:用于应用程序的SSR(服务器端渲染)-angular universal(在nodejs universal服务器中渲染应用程序)

app.module.client.ts-用于预渲染,即与app.module.browser.ts相同(在浏览器级别渲染应用程序)

阅读这份文件,它会让你在这方面有一个清晰的想法。

我明白,但我不明白为什么angular 4.1.2版和4.2.5版之间的app.module文件(3个文件)不同(名称和行为)。我指的是Visual Studio 2017(asp.net core 2.0)中使用的角度模板。新的通用引擎名为nguniversal engine,在此版本中实现。所以他们确实更新了命名部分。您可以访问github版本并查看更新
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]