У моего красивого приложения Angular 5, отображаемого на стороне сервера (использующего Universal с сервером node express.js), возникают проблемы со стилем на этапе начальной загрузки (предварительной загрузки). С глобальной таблицей стилей CSS все в порядке, но стили, специфичные для компонентов, исчезают после начала начальной загрузки.
Пример:
Стиль компонента с отключенным javascript (чистый html и css с сервера):
Стилизация компонентов с включенным javascript и до того, как приложение начнет загрузку (все еще хорошо, все еще чистый html и css с сервера):
Стилизация компонентов на этапе перехода при начальной загрузке (ужасно, потому что специфические для компонента стили исчезли. h1[_ngcontent-c25]
больше нет):
Стилизация компонентов после полной загрузки приложения (h1[_ngcontent-c25]
возвращается):
Что здесь происходит и как это исправить?
Для справки
app.module.ts:
@NgModule({
declarations: [
AppComponent,
],
imports: [
// BrowserModule,
BrowserModule.withServerTransition({ appId: 'universal' }),
PrebootModule.withConfig({ appRoot: 'app-root' }),
BrowserTransferStateModule,
TransferHttpCacheModule,
CoreModule, // this is where everything else is
AppRoutingModule,
],
bootstrap: [
AppComponent
]
})
export class AppModule { }
Версии:
Angular: 5.0.3
Angular-cli: 1.5.0
"preboot": "^6.0.0-beta.0",
"@nguniversal/module-map-ngfactory-loader": "^5.0.0-beta.5",
"@nguniversal/common": "5.0.0-beta.5",
"express": "^4.16.2",
ОБНОВИТЬ:
Пример репозитория с такой же проблемой от другого разработчика: https://github.com/angular/preboot/issues/58