乐趣区

关于sap:关于-SAP-电商云-Spartacus-UI-SSR-的-state-transfer-问题

我应用基于版本 3.4.5(某客户正在应用)的 Schematics 创立了一个店面,并在 SSR 模式下运行它。

我在浏览器中拜访 http://localhost:4000/。

通过 Chrome 开发工具我晓得主页的源代码是由 SSR 服务器胜利生成了。

然而,即便在 SSR 模式下,我发现 /cms/pages OCC API 依然是从客户端触发的。

在 SSR 服务器的 log 里,我没有发现 CSR fallback:

然而,在客户端,我依然发现了这些 OCC API call:

即便我应用了如下代码:

ConfigModule.withConfig({
  state: {
    ssrTransfer: {
      keys: {
        products: true,
        cms: true
      }
    }
  }
});

只能确保客户端没有发送 product 相干的 API 调用。

解答

  • 对于产品 – 我猜状态已从 SSR 转移到 CSR。
  • 对于 cms – 我想无论咱们是否在 ngrx 商店中,咱们都会进行调用。咱们正在探讨的货色可能会在将来改良

默认状况下,Spartacus 在每次路由更改时从新加载 CMS 页面数据,无论它是否曾经保护在 ngrx state 之中。然而,客户能够通过 Spartacus 配置 routing.loadStrategy: RouteLoadStrategy.ONCE 对其进行不同的配置
它在 CmsPageGuard.shouldReload 办法中应用。

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

退出移动版