关于 SAP Spartacus SSR 模式和 CSR 模式下重复发送 HTTP 请求调用 OCC API 的问题
我使用基于版本 3.4.5 的 Schematics 創(chuàng)建了一個店面,并在 SSR 模式下運行它。
我在瀏覽器中訪問 http://localhost:4000/
通過 Chrome 開發(fā)工具我知道主頁的源代碼是由 SSR 服務(wù)器成功生成的。
但是,即使在 SSR 模式下,我發(fā)現(xiàn) /cms/pages OCC API 仍然是從客戶端觸發(fā)的。
添加下面的配置:
ConfigModule.withConfig({state: {ssrTransfer: {keys: {products: true,cms: true}}} });當(dāng)我訪問 SSR 服務(wù)器返回的主頁時,我在 Chrome 開發(fā)工具中觀察到以下 OCC API 調(diào)用:
沒有找到產(chǎn)品數(shù)據(jù)的 API。
所以我的理解是:
客戶端產(chǎn)品數(shù)據(jù)的API被認為是“不必要的狀態(tài)調(diào)用后端”,被SSR傳輸狀態(tài)避免,對嗎?
解答
默認情況下,Spartacus 在每次路由更改時重新加載 CMS 頁面數(shù)據(jù),無論它是否已經(jīng)處于 ngrx 狀態(tài)。 但是,客戶可以通過 Spartacus 配置 routing.loadStrategy: RouteLoadStrategy.ONCE 對其進行不同的配置。
它在 CmsPageGuard.shouldReload 方法中使用。
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的关于 SAP Spartacus SSR 模式和 CSR 模式下重复发送 HTTP 请求调用 OCC API 的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在 SAP 电商云 Spartacus
- 下一篇: SAP Spartacus 里的 .re