前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP 电商云 Spartacus UI 的 External Routes 设计明细

SAP 电商云 Spartacus UI 的 External Routes 设计明细

作者头像
Jerry Wang
发布2022-08-07 15:05:54
1.4K0
发布2022-08-07 15:05:54
举报

作为单页应用程序 (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 均从后端加载:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档