在您迁移到 4.0 版库之前,我们强烈建议您切换到新的应用程序结构和新的功能库。 在多个小步骤中进行迁移更容易(迁移到新的应用程序结构,切换到提取的功能库,然后迁移到 4.0),您可以确保在每一步之后一切仍然像以前一样工作。 如果您需要了解我们为何引入此更改的更多信息,请阅读下一章。

在 3.0 版本之前,我们开始根据其职责分离库。在 3.0 中,我们已经在单独的包中发布了一些库(例如@spartacus/organization、@spartacus/storefinder)。我们也在次要 3.x 版本中继续移动更多的库。我们试图以一种没有破坏性变化的方式做到这一点。但是,对于每个主要版本,我们都希望偿还在次要版本中积累的技术债务。提取的库是技术债务的巨大贡献者,因为我们在两个地方保留了相同的功能。在 4.0 版本中,我们将从核心库(@spartacus/core、@spartacus/storefront、@spartacus/assets 和 @spartacus/styles)中删除这些功能,这些功能已经在次要版本中被提取到单独的库中。

在此过程中,我们发现我们不得不更改一些较大的模块以适应这些更改(例如 B2cStoreFrontModule、StorefrontModule 或 CmsLibModule)。

所以这就是为什么我们建议切换到不使用这些模块的新应用程序结构,并切换到新功能库(如果它们存在于您正在使用的功能)。您可以在下面找到有关如何操作的通用指南。之后迁移到 4.0 应该会更容易。

Upgrade Angular libraries first

在将 Spartacus 升级到 4.0 之前,您需要先将 Angular 升级到 12 版,并将 Angular 3rd 方依赖项(如@ng-bootstrap/ng-bootstrap 或 @ng-select/ng-select)升级到与 Angular 12 兼容的版本。

ng update @ng-bootstrap/ng-bootstrap@10 @ng-select/ng-select@7 @angular/core@12 @angular/cli@12

“发布”的库是新的、官方的、经过测试的 Spartacus 库,可供公众使用(托管在 npmjs.com 上)

我们通常每 2 周发布一次新库

次要更改意味着我们添加了新功能,但默认情况下将它们配置为关闭,以免引起兼容性问题。新的次要也意味着包含可能影响兼容性的更改或错误修复,但这些也由功能标志 feature flags 控制。因此,所有重大更改都是“选择加入 opt in”。有关更多信息,请参阅功能标志文档。

我们通常会在新的次要版本发布前几周发布标记为“下一个”的预发布库。目标是提供对新功能的早期访问并从社区获得反馈。

如果您选择不使用新功能,则升级到新的 Major.# 应该没有问题,并将 features 标志设置为以前的 Major.#。如果您确实发现问题,请报告错误,我们将对其进行评估和修复。我们鼓励您在开发过程中经常升级到最新的库,以利用错误修复和新功能。
为了能够使用 Spartacus 3.* 中的所有功能,需要 SAP Commerce Cloud 2005 版。例如,2005 版包含用于 B2B 商务组织的 OCC API。此外,需要或至少强烈推荐最新的补丁版本,因为它通常包含影响 Spartacus 的错误修复(例如,ASM 需要 1905.5,而 Save for later 功能需要 1905.11)。 Spartacus 3.* 也经过了 1905 版的测试和使用。但是请注意,如果您使用的是 SAP Commerce Cloud 1905,则依赖于 2005 年引入的新 API(例如取消和退货)的 Spartacus 功能将不可用。了解更多有关特定功能需要哪个版本的 Spartacus 和哪个版本的 SAP Commerce Cloud 的信息,请参阅功能兼容性。

一个命令行升级到 4.0:

ng update @spartacus/schematics@4

更新完成运行后,检查您的代码中是否有以 // TODO:Spartacus 开头的注释。 有关每个添加评论的详细信息,请参阅下面的详细更改列表。

https://github.com/SAP/spartacus/blob/develop/docs/migration/4_0.md#detailed-list-of-changes

SAP Spartacus 4.0 的技术变化相关推荐

  1. SAP Spartacus 3.0 的一些变化

    SAP Spartacus 确实使用到了Bootstrap这个框架: Technical Changes in Spartacus 3.0 Breaking Changes Translations ...

  2. 为什么 SAP Spartacus 4.0 源代码版本读取不到 CX_BASE_URL 环境变量的值?

    SAP Spartacus 4.0 源代码版本: 如下图所示,遇到了 404 错误: 错误的 url:可以看到端口号变成了 4200: http://localhost:4200/occ/v2/ele ...

  3. SAP Spartacus 4.0 deprecation 之一 - i18next-xhr-backend

    这个库文件在其 Github 仓库上提到,已经 deprecated 了: 在 SAP Spartacus Schematics 里提到,会被 i18next-http-backend 替换: 在 4 ...

  4. SAP Spartacus 4.0 版本因为 hamburger 依赖导致构建出错的问题

    build from Schematics 遇到错误消息: SassError: Undefined function. https://github.com/SAP/spartacus/issues ...

  5. SAP Spartacus 3.0 加载homepage的逻辑

    url和2.1.0不一样,但是返回的结果一样: Queueing的含义:如果客户端和服务器端已经建立起6个TCP连接时,由于HTTP 1.0和1.1的限制,如果有新的HTTP请求,浏览器只能将其放至队 ...

  6. SAP Spartacus使用到的技术栈

    前面说到,Spartacus是基于现代Web开发技术打造而成的一个Storefront开发框架,因此涉及到的技术栈都是目前前端开发普遍使用的一些比较成熟的技术. Angular:由Google维护的一 ...

  7. SAP Spartacus 4.0 关于SSR CSS 处理逻辑的一些 warning 消息的处理

    custom-file-input:lang(en)~.custom-file-label -> unmatched pseudo-class :lang 原因:混合导致的一些问题:默认 Boo ...

  8. 安装 SAP Spartacus 3.0 并使用B2B功能

    安装文档: https://sap.github.io/spartacus-docs/building-the-spartacus-storefront-from-libraries/ 首先ng ne ...

  9. SAP Spartacus 3.0部署在development environment上

    https://github.com/SAP-samples/cloud-commerce-sample-setup/tree/2011-spartacus 启动Spartacus,遇到错误消息: N ...

最新文章

  1. android 保存 用户名和密码 设置等应用信息优化
  2. 拉取远程分支_git使用教程之创建本地库并关联远程库(笔记整理篇一)
  3. 睡眠不足,记忆力还有救吗?Nature:饿着
  4. Netty源码解析1-Buffer
  5. 基于Python Tornado的在线问答系统
  6. K8S中手动扩容云盘数据卷
  7. 01串(51Nod-1391)
  8. 大数据分析的目的与意义
  9. Lunix服务器上项目迁移命令
  10. 北华大学c语言题库百度云,北华大学C语言题库精简打印版(全).docx
  11. 聊天机器人 java_java实现自动回复聊天机器人
  12. 5款瞬间复活Win7/8/10工具
  13. 互联网思维——用户思维
  14. Python的字符串方法join(插入间隔符)
  15. 淘特 Flutter 流畅度优化实践
  16. 机器学习:朴素贝叶斯
  17. GP232RL与FT232RL操作区别
  18. 转:eclipse failed to create the java virtual machine 问题图文解析
  19. 计算机班级组织什么活动,【班级活动】计算机科学与技术3班开展“三月春游”户外活动...
  20. java随机出题_Java实现随机出题,10道10以内加减法计算代码实例

热门文章

  1. oracle expdp ora39070,expdp时出错:ORA-39070: Unable to open the log file.
  2. 视图解析器中配置前缀和后缀---SpringMVC学习笔记(五)
  3. IP地址的简单说明---Linux学习笔记
  4. ant-design-pro使用服务器数据接口代理配置
  5. 反思O2O演化的三个时代,大数据与智能化才是未来所在
  6. 《Android 游戏开发大全(第二版)》——6.4节角色扮演游戏
  7. Ubuntu16.04.2安装KDE
  8. iOS中都有什么设计模式?各个设计模式的作用 (转载)
  9. Android接入百度自动更新SDK
  10. oc-05-对象的创建