我使用基于版本 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 的问题相关推荐

  1. SAP Spartacus SSR模式启用失败的一个原因:SSR rendering exceeded timeout

    https://github.com/SAP/spartacus/issues/10638 错误消息:SSR rendering exceeded timeout, fallbacking to CS ...

  2. 2021-10-28 SAP Spartacus SSR 性能方面的一些学习笔记

    如果客户已经拥有 CDN 缓存,可以不启用 cache:true, cacheSize:xxx . 这种内存缓存功能仅适用于没有生产就绪 CDN 的简单店面.也就是说,如果客户没有任何外部缓存服务(a ...

  3. 如何打印出 SAP Spartacus 调用 OCC API 消费的所有 endpoint

    本文写作的 SAP Spartacus 版本:3.3.0. 直接修改这个文件: node_modules@spartacus\core_ivy_ngcc_\fesm2015\spartacus-cor ...

  4. SAP Spartacus SSR 模式下 index.html 页面渲染 fallback 到 CSR 之后的执行逻辑

    入口: 当SSR页面不能及时返回时,我们返回index.html: CSR 应用程序 CSR 应用会返回"Cache-Control: no-store"响应头.这将通知外部缓存系 ...

  5. SAP Spartacus SSR 模式下 index.html 页面的响应逻辑调试

    入口:所有的 regular route 都使用 universal engine: express 的 response 实现: express application 的实现: 静态资源,都从 b ...

  6. 关于 SAP Spartacus SSR 服务器返回的响应是否应该被缓存的问题

    分 SSR 和 CSR 两种情况进行讨论. when a page is CSR fallback, the CSR app is served with the Cache-Control:no-s ...

  7. SAP Spartacus 服务器端渲染文件 server.js 和构建后的 main.js 对比

    构建之前: 构建之后: 其中 express__WEBPACK_IMPORTED_MODULE_3__ 来自 module uX2x: uX2x 来自 node_modules/express/ind ...

  8. SAP Spartacus 用户认证的实现

    文章目录 UserAuthModule Authentication Flow AuthService Storing Tokens and User Identifiers 用户认证的典型流程和包含 ...

  9. 使用Schematics启用SAP Spartacus的SSR模式

    命令行: ng add @spartacus/schematics --ssr src文件夹下,自动创建main.server.ts, server.ts文件: 命令行: npm run build: ...

最新文章

  1. Spring Boot(十一)Redis集成从Docker安装到分布式Session共享
  2. python编程入门p-Python是什么?简单了解pythonp-入门
  3. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板成员函数的实例化
  4. ionic - error
  5. 简而言之,JUnit:另一个JUnit教程
  6. double operator[](int i)_java中double类型精度丢失问题及解决方法
  7. codevs——1036 商务旅行
  8. ssms 缺少索引信息_搜索引擎整合营销
  9. 不是外部命令也不是可运行程序_手机运行内存4G和6G有什么不同?差别不是一般大...
  10. Android8.0使用ninja模块编译Settings
  11. 腾讯云TDSQL TCP干货
  12. Jamovi 教程:比SPSS还好用的统计软件,强烈安利
  13. 新手如何让淘宝店铺快速走向正轨? 新型模式带你走向巅峰
  14. 全球主要气象气候研究部门及其共享数据集介绍
  15. 博饼程序-Java实验
  16. android rxbus github,RxBus-实现EventBus之Sticky
  17. 阿里云操作系统——飞天(Apsara)
  18. AAAI2020论文列表(中英对照)
  19. java for循环
  20. 仰望流年纯白世界那抹城光(二)

热门文章

  1. mysql 代码怎么优化_Mysql性能优化
  2. MyEclipse中常用的快捷键
  3. 好程序员Java分享SQL语言之索引
  4. Jquery ajax提交表单几种方法详解
  5. WebView 在 APP 中的使用
  6. Spring定时任务的几种实现方式
  7. linux学习教程(一)(安装篇)centos7没有安装ifconfig命令的解决方法
  8. 如何在站点静态文件下查找某关键字并修改文件名?
  9. Java内存原型分析:基本知识
  10. 向量除法——标量乘法的逆运算