I'm playing with new ( v19 ) Universal. Im trying to use Hybrid approach, so some pages like home, about, products would be prerendered in build time ( SSG ) while 'dynamic' pages like checkout or my-account would be client side, or server side rendered. I've created a new dummy app, with 3 pages: Home, About and Checkout with routing like this: export const routes: Routes = [ { path: 'home', component: HomeComponent }, { path: 'about', component: AboutComponent, }, { path: 'checkout', component: CheckoutComponent } ]; And then router.server.ts like this: export const serverRoutes: ServerRoute[] = [ { path: 'home', renderMode: RenderMode.Prerender }, { path: 'about', renderMode: RenderMode.Prerender }, { path: 'checkout', renderMode: RenderMode.Client } ]; I ran ng build, and the app seems to be built correctly - it prerendered Home and Checkout, and now I can see there is 'browser' and 'server' folders in my dist, and those 2 prerendered sites are correctly placed in browser folder. Now I run serve:ssr:unitest, app is being served, but whole app, seems to be server side rendered. I've manually modified prerendered static html files inside dist, and I cannot see any changes, so my guess is, this server.ts does not serve my static files? I would expect our server.ts to serve static files first, and if those are not present, it could use SSR/CSR? Am im being dumb, or is there something im missing? Should I use some different serving approach for hybrid approach? If so, what would be the best way to do that? Another question - how to handle routerlinks in hybrid SSG/SSR approach? using regular routetLink directive seems to make the app switch to client side routing? Should I just use classic a href? Thanks in advance for any help Continue reading...