关于 SAP Spartacus SSR 模式和 CSR 模式下重复发送 HTTP 请求调用 OCC API 的问题
我使用基于版本 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的原创文章,尽在:“汪子熙”:
关于 SAP Spartacus SSR 模式和 CSR 模式下重复发送 HTTP 请求调用 OCC API 的问题相关推荐
- SAP Spartacus SSR模式启用失败的一个原因:SSR rendering exceeded timeout
https://github.com/SAP/spartacus/issues/10638 错误消息:SSR rendering exceeded timeout, fallbacking to CS ...
- 2021-10-28 SAP Spartacus SSR 性能方面的一些学习笔记
如果客户已经拥有 CDN 缓存,可以不启用 cache:true, cacheSize:xxx . 这种内存缓存功能仅适用于没有生产就绪 CDN 的简单店面.也就是说,如果客户没有任何外部缓存服务(a ...
- 如何打印出 SAP Spartacus 调用 OCC API 消费的所有 endpoint
本文写作的 SAP Spartacus 版本:3.3.0. 直接修改这个文件: node_modules@spartacus\core_ivy_ngcc_\fesm2015\spartacus-cor ...
- SAP Spartacus SSR 模式下 index.html 页面渲染 fallback 到 CSR 之后的执行逻辑
入口: 当SSR页面不能及时返回时,我们返回index.html: CSR 应用程序 CSR 应用会返回"Cache-Control: no-store"响应头.这将通知外部缓存系 ...
- SAP Spartacus SSR 模式下 index.html 页面的响应逻辑调试
入口:所有的 regular route 都使用 universal engine: express 的 response 实现: express application 的实现: 静态资源,都从 b ...
- 关于 SAP Spartacus SSR 服务器返回的响应是否应该被缓存的问题
分 SSR 和 CSR 两种情况进行讨论. when a page is CSR fallback, the CSR app is served with the Cache-Control:no-s ...
- SAP Spartacus 服务器端渲染文件 server.js 和构建后的 main.js 对比
构建之前: 构建之后: 其中 express__WEBPACK_IMPORTED_MODULE_3__ 来自 module uX2x: uX2x 来自 node_modules/express/ind ...
- SAP Spartacus 用户认证的实现
文章目录 UserAuthModule Authentication Flow AuthService Storing Tokens and User Identifiers 用户认证的典型流程和包含 ...
- 使用Schematics启用SAP Spartacus的SSR模式
命令行: ng add @spartacus/schematics --ssr src文件夹下,自动创建main.server.ts, server.ts文件: 命令行: npm run build: ...
最新文章
- Spring Boot(十一)Redis集成从Docker安装到分布式Session共享
- python编程入门p-Python是什么?简单了解pythonp-入门
- C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板成员函数的实例化
- ionic - error
- 简而言之,JUnit:另一个JUnit教程
- double operator[](int i)_java中double类型精度丢失问题及解决方法
- codevs——1036 商务旅行
- ssms 缺少索引信息_搜索引擎整合营销
- 不是外部命令也不是可运行程序_手机运行内存4G和6G有什么不同?差别不是一般大...
- Android8.0使用ninja模块编译Settings
- 腾讯云TDSQL TCP干货
- Jamovi 教程:比SPSS还好用的统计软件,强烈安利
- 新手如何让淘宝店铺快速走向正轨? 新型模式带你走向巅峰
- 全球主要气象气候研究部门及其共享数据集介绍
- 博饼程序-Java实验
- android rxbus github,RxBus-实现EventBus之Sticky
- 阿里云操作系统——飞天(Apsara)
- AAAI2020论文列表(中英对照)
- java for循环
- 仰望流年纯白世界那抹城光(二)