作为单页应用程序(SPA),Spartacus使用AngularrouterLink指令,其设计不会从后端Web服务器加载新页面。因此,Spartacus通常只允许用户在应用程序本身内导航。换句话说,Spartacus通常只在单页应用程序中加载视图。但是,如果您从SAPCommerceAccelerator等传统店面系统增量(并逐个路由)迁移到Spartacus,则Spartacus中的外部路由功能允许您使用不同的系统来驱动不同的部分。通过外部路由,开发人员可以指定从后端加载哪些路由,甚至可以将路由重定向到不同的域。要在与Spartacus和另一个系统相同的域上运行Storefront,您需要定义URL模式以区分两个Storefront系统。这些模式应该应用于后端服务器、Spartacus配置和AngularServiceWorkers(启用PWA时)。该模式应按如下方式应用:当访问深度链接时,后端服务器应提供Spartacus视图,或应提供来自另一个店面系统的页面。当使用AngularrouterLink导航时,Spartacus应该激活一个SPA路由,或者它应该从后端完全加载页面。启用PWA后,AngularServiceWorker会拦截导航请求。当页面完全加载(或重新加载)时,ServiceWorker应该返回缓存的单页应用程序的index.html,或者ServiceWorker应该绕过缓存以便后端可以为页面提供服务。您可以通过导入ConfigModule.withConfig()来提供带有URL模式配置的内部路由。URL模式使用如下有限的glob格式:**匹配0个或多个路径段*匹配0个或多个字符,不包括/?只匹配一个字符,不包括/!是将模式标记为否定的,这意味着只包含不匹配模式的URL示例:在下面的示例中,SPA中仅呈现主页、购物车和产品详细信息页面,所有其他URL从加载后端:
