我们在 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 方法: