diff --git a/packages/angular/ssr/src/routes/ng-routes.ts b/packages/angular/ssr/src/routes/ng-routes.ts index 8e23b603ca31..137a14604b18 100644 --- a/packages/angular/ssr/src/routes/ng-routes.ts +++ b/packages/angular/ssr/src/routes/ng-routes.ts @@ -144,9 +144,25 @@ async function* traverseRoutesConfig(options: { for (const route of routes) { try { - const { path = '', redirectTo, loadChildren, loadComponent, children, ɵentryName } = route; + const { + path = '', + matcher, + redirectTo, + loadChildren, + loadComponent, + children, + ɵentryName, + } = route; const currentRoutePath = joinUrlParts(parentRoute, path); + if (matcher) { + yield { + error: `The route '${stripLeadingSlash(currentRoutePath)}' uses a route matcher which is not supported.`, + }; + + continue; + } + // Get route metadata from the server config route tree, if available let matchedMetaData: ServerConfigRouteTreeNodeMetadata | undefined; if (serverConfigRouteTree) {