关于 SAP Spartacus SSR 模式和 CSR 模式下
2021-11-30 本文已影响0人
华山令狐冲
我使用基于版本 3.4.5 的 Schematics 创建了一个店面,并在 SSR 模式下运行它。
我在浏览器中访问 http://localhost:4000/
通过 Chrome 开发工具我知道主页的源代码是由 SSR 服务器成功生成的。
但是,即使在 SSR 模式下,我发现 /cms/pages OCC API 仍然是从客户端触发的。
添加下面的配置:
ConfigModule.withConfig({
state: {
ssrTransfer: {
keys: {
products: true,
cms: true
}
}
}
});
当我访问 SSR 服务器返回的主页时,我在 Chrome 开发工具中观察到以下 OCC API 调用:
没有找到产品数据的 API。
所以我的理解是:
客户端产品数据的API被认为是“不必要的状态调用后端”,被SSR传输状态避免,对吗?
解答
默认情况下,Spartacus 在每次路由更改时重新加载 CMS 页面数据,无论它是否已经处于 ngrx 状态。 但是,客户可以通过 Spartacus 配置 routing.loadStrategy: RouteLoadStrategy.ONCE 对其进行不同的配置。
它在 CmsPageGuard.shouldReload 方法中使用。
更多Jerry的原创文章,尽在:"汪子熙":