当前位置:网站首页>SAP 电商云 Spartacus UI 的 External Routes 设计明细
SAP 电商云 Spartacus UI 的 External Routes 设计明细
2022-08-03 10:38:00 【汪子熙】
作为单页应用程序 (SPA),Spartacus 使用 Angular routerLink 指令,根据设计,该指令不会从后端的 Web 服务器中加载新的页面。 因此,Spartacus 通常只允许用户在应用程序本身内导航。 换句话说,Spartacus 通常只加载单页应用程序中的视图。
但是,如果您要从传统店面系统(例如 SAP Commerce Accelerator)逐步(和逐个路由)迁移到 Spartacus,则 Spartacus 中的外部路由功能允许您使用不同的系统来驱动不同的部分。 使用外部路由,开发人员可以指定从后端加载哪些路由,甚至可以将路由重定向到不同的域。
要使用 Spartacus 和另一个系统在同一个域中运行店面,您需要定义 URL 模式以区分两个店面系统。 这些模式应该应用于后端服务器、Spartacus 配置和 Angular Service Worker(启用 PWA 时)。
模式应按如下方式应用:
访问深层链接时,后端服务器应提供 Spartacus 视图,或者应提供来自其他店面系统的页面。
当使用 Angular routerLink 进行导航时,Spartacus 应该激活一个 SPA 路由,或者它应该从后端完全加载页面。
启用 PWA 后,Angular Service Worker 会拦截导航请求。 当完全加载(或重新加载)页面时,Service Worker 应该返回缓存的单页应用程序的 index.html,或者 Service Worker 应该绕过缓存,以便后端可以服务该页面。
您可以通过导入 ConfigModule.withConfig() 为内部路由提供带有 URL 模式的配置。
URL 模式使用有限的 glob 格式,如下所示:
**匹配 0 个或多个路径段*匹配 0 个或多个字符,不包括/?只匹配一个字符,不包括/!是将模式标记为负数的前缀,这意味着仅包含与模式不匹配的 URL
例子:
在以下示例中,SPA 中仅呈现主页、购物车和产品详细信息页面,所有其他 URL 均从后端加载:

边栏推荐
猜你喜欢
随机推荐
深入解析分布式文件系统的一致性的实现
MySQL数据库基本使用
C language two-dimensional array is called with one-dimensional array
全新的Uber App设计
MATLAB程序设计与应用 2.6 字符串
C#+WPF 单元测试项目类高级程序员必知必会
ImportError: DLL load failed with error code -1073741795
Mysql OCP 26题
GoogLeNet系列解读「建议收藏」
三大产品力赋能欧萌达OMODA5
月薪没到35K的程序员必须要背的面试八股,我先啃为敬!
消费者认可度较高 地理标志农产品为啥“香”
以网强算,中国移动算网建设激发澎湃能量
混合型界面:对话式UI的未来
夏季整治百日行动进行时:700余交通安全隐患被揪出
MySQL数据库高级使用
mongodb服务启动失败_mongodb启动不了
pytorch installation error
安全研究员:大量Solana钱包被盗
Mysql OCP 75题









