Using SSR with Flex Layout - ngbracket/ngx-layout GitHub Wiki
@ngbracket/ngx-layout now supports server-side rendering (SSR).
Developers should see the Universal Demo app source for details:
The
app.server.moduleuses the FlexLayoutServerModule (instead of the FlexLayoutModule).
The FlexLayoutServerModule entrypoint consolidates the logic for running Flex Layout on the server. Because SSR usings uses Node.js APIs, the FlexLayoutServerModule must be segmented into a server-only bundle.
This also helps avoid including server code in the browser bundle.
The FlexLayoutServerModule, can be imported into a server modulefile, e.g. app.server.module.ts as follows:
import {NgModule} from '@angular/core';
import {FlexLayoutServerModule} from '@ngbracket/ngx-layout/server';
@NgModule(({
imports: [
... other imports here
FlexLayoutServerModule,
]
}))
export class AppServerModule {}
This module - in addition to handling all of the style processing/rendering before the Angular app is
bootstrapped on the server - also substitutes the version of MatchMedia with a server-compatible
implementation called ServerMatchMedia.