首页 > 其他分享 >SAP 电商云 Spartacus UI External Route 的模块实现概述

SAP 电商云 Spartacus UI External Route 的模块实现概述

时间:2022-11-13 09:56:15浏览次数:77  
标签:电商 Spartacus addRoutes glob External SAP Glob

我们在 SAP Spartacus AppModule 里进行如下的 External Route 配置之后:

    provideConfig({
      routing: {
        internal: [
          '/**',
          '!/cart',
          '!/**/p/**'
        ]
      }
    }),

一旦访问 Spartacus Cart url,从 Chrome 开发者工具 network 里就能观察到,整个应用不停的自刷新。

整个实现位于 routing 文件夹下:

ExternalRoutesService 里加上调试代码:

运行时观察到的输出:

ExternalRoutesService 里的 addRoutes 方法,职责是为 redirect 到另一个 Storefront 系统,设置新的 Routes 配置:

加上一行打印语句:

这个 addRoutes 方法是作为 Angular 应用的初始化器(initializers) 被调用的:

上图第 34 行代码,调用 Service class 自己实现的 getRoutes 方法:

然后从 injector 里取得 Routers 实例,进而取得当前已有的 routes 配置:

resetConfig API 的文档

UrlMatcher 负责决定 external route 是否应当被 activated:

这个 getUrlMatcher 方法也是在 addRoutes 方法调用里执行的:


UrlMatcerService:

什么是 Glob like service?

Glob,也称为 glob 模式,是可以将通配符模式扩展为与给定模式匹配的路径名列表的模式。
在 Linux 的早期版本中,命令解释器依赖于一个程序,该程序将这些字符扩展为命令的不带引号的参数:/etc/glob。
该命令后来作为库函数提供,现在被大量程序使用,包括 shell。 几种不同的工具和语言已经采用了 glob,并对其进行了小小的改动。 比如:

  • Node.js
  • Go
  • Java
  • Haskell
  • Python
  • Ruby
  • PHP

Spartacus Glob Service 接收一个字符串数组作为输入参数,返回一个 validator 函数:

观察其调用栈,仍然是在 addRoutes 方法执行体内:

仅当匹配任何正模式且没有负模式时,验证器才会为给定 URL 返回 true.

标签:电商,Spartacus,addRoutes,glob,External,SAP,Glob
From: https://www.cnblogs.com/sap-jerry/p/16885439.html

相关文章

  • SAP Commerce Cloud 里的 User 模型和 Restriction 的关系
    SAPHybris的MENUitem可以被分配一个叫做UserGrouprestriction的属性。如果一个用户属于一个特殊的用户组,那么菜单项(menuitem)应该是可见的。现在的问题是,这个......
  • 在 SAP Fiori Gateway 系统配置一个指向 SAPGUI 事务的 tile
    对于应用程序类型Transaction、WebDynpro和URL,开发人员可以直接在SAPFioriLaunchpadDesigner的目标映射中定义系统别名。目标映射配置中的参数SystemAlias表示......
  • 关于Redhat-Linux中-compat-sap-c++软件包的说明
    本文OS版本:RedHatEnterpriseLinuxrelease8.6(Ootpa)还是先说一下compat-sap-c++软件包的作用:InordertorunSAPapplicationscompiledwithcertainnewerGCC......
  • 海量电商数据与用友YS系统数据对接案例
    案例背景客户是历史比较悠久的企业。企业内部用的系统多达十几套,专门成立信息化公司进行数字化转型,第一期需求系统旺店通的ERP以及旺店通的WMS并且启用京东的沧海外仓。......
  • 海量电商数据与用友YS系统数据对接案例
    案例背景客户是历史比较悠久的企业。企业内部用的系统多达十几套,专门成立信息化公司进行数字化转型,第一期需求系统旺店通的ERP以及旺店通的WMS并且启用京东的沧海外仓。在选......
  • 电商营销总结
    营销于电商来讲好比市场上生意人的吆喝,讲的好自然来围观来选购的人就多,成交就多,流水多,可能赚钱的机会也多。电商营销可分为以下几类:基础营销互动营销店铺营销会员营......
  • 将SAP系统迁移到云上? 同时带上您的存档数据
    如今数据都在增长,SAP数据也不例外。根据SNP对300多个SAP系统的分析,每年的数据增长在20%-40%之间。当某些企业未能将旧的SAP数据归档、数据保留和数据管理实施到标准IT......
  • 拓端tecdat|R语言代写RFM模型在电商行业的应用
    如何衡量电商存量用户的价值?是上一次购买时间?消费金额?还是购买次数?通过什么模型进行用户细分对营销活动提升用户的响应率最有效?如果一个电商店铺在2017年4月要开展营销活动,......
  • SAP 后台任务定时job
    定时任务的事务码sm36:创建定时任务sm37:查看定时任务JDBG:后台任务debug,在对应的sm37中对应的job页面t-code输入创建定时任务SM36名称可以随便起一般都是按自己公......
  • SAP ABAPI ME2N屏幕增强
    增加一个外部合同号  效果如下: ......