Я использовал ng-toolkit с ng add @ng-toolkit/universal
, чтобы добавить поддержку Angular Universal в мой проект.
Я могу создать сборку prod без ошибок, плюс я могу запустить сервер, снова без каких-либо ошибок. Он просто «застревает», когда к нему приходит запрос (nodeJS не выводит никакого вывода).
Я обнаружил, что один из моих компонентов нарушает рендеринг на стороне сервера. Я узнал, что проблема с мат-каруселью:
компонент:
export class BannerComponent {
slides: any[] = [
// tslint:disable-next-line:max-line-length
{ image: 'assets/banner/banner-one.png' },
// tslint:disable-next-line:max-line-length
{ image: 'assets/banner/banner-two.png' },
// tslint:disable-next-line:max-line-length
{ image: 'assets/banner/banner-three.png' }
];
}
шаблон:
<section class="sec-space-b" id="banner">
<mat-carousel
timings="250ms ease-in"
[autoplay]="true"
interval="5000"
color="accent"
maxWidth="auto"
proportion="25"
slides="5"
[loop]="true"
[hideArrows]="false"
[hideIndicators]="false"
[useKeyboard]="true"
[useMouseWheel]="false"
orientation="ltr"
>
<mat-carousel-slide
#matCarouselSlide
*ngFor="let slide of slides; let i = index"
overlayColor="#00000000"
[image]="slide.image"
[hideOverlay]="false"
></mat-carousel-slide>
</mat-carousel>
</section>
Как я могу решить эту проблему? Могу ли я как-то исключить конкретный компонент из сборки на стороне сервера?