1

我使用原理图命令将SSR安装到 Spartacus 应用程序,并以SSR模式运行应用程序。

在我的 Chrome 开发工具中,我可以看到我的主页内容是由SSR 服务器成功生成的。

但是,我可以在我的网络选项卡中看到,XHR 请求仍在发送,并且使用http 调用获取数据,而不是使用express获取的数据。

我尝试在我的app.module.ts提供程序中使用来自https://sap.github.io/spartacus-docs/ssr-transfer-state/#page-title的配置与提供配置(我也尝试使用 Config.Module。 app.module.ts 中的 withConfig 也可以导入)文件,但它不起作用,因为 CMS 和产品请求仍然是从客户端发送的。

在我呈现的 HTML 的末尾,我可以看到状态数据以键值格式链接到脚本标记:

<script id="spartacus-state" type="application/json">...</script>

我想知道是否可以在客户端使用来自 HTML 模板的数据并且不再通过 HTTP 调用获取它们(在Spartacus 应用程序中实现Angular Universal 传输状态

我将非常感谢有关 Spartacus 应用程序中状态转移实施的正确方法(覆盖适配器或解析器或任何其他解决方案)的任何建议。

谢谢你。

4

1 回答 1

1

配置的传输状态应该对数据的某些部分有效,但并非对所有数据都有效。cms-store.module.ts请参阅product-store.module.ts和的源代码site-context-store.module.ts

在此处输入图像描述

请注意,默认情况下,CMS 页面数据会在客户端中重新加载,除非您在路由配置中配置RouteLoadStrategy为。ONCE

如果您发现 Spartacus 传输状态无法正常工作,请在 Spartacus 存储库中创建错误票证并在此处引用。

于 2021-12-17T16:26:11.730 回答