当前位置: 首页 > Web前端 > JavaScript

借助SAP电商云SpartacusUI提供的Schematics辅助你的前端项目升级

时间:2023-03-26 22:06:49 JavaScript

Spartacus升级到新的大版本时(比如从3.x升级到4.0),Spartacus的迁移机制会自动修复修改或删除的代码。当您处理功能或错误,或对Spartacus源代码进行任何其他更改时,您需要更新原理图作为完成定义的一部分。通过将这些更新作为每次源代码更改的DoD的一部分进行迭代,您不必在开发周期结束时花费大量时间升级迁移机制,因此,它可以更轻松地准备新主要版本的Spartacus库。迁移机制升级到新的主要版本后,应在新的开发周期开始时更新迁移机制。比如Spartacus已经从2.x版本更新到3.0版本,更新后的机制应该尽快合并到develop分支。这允许贡献者从开发周期的一开始就包含迁移及其功能和错误修复。更新原理图的结构此文件包含每个Spartacus版本的迁移脚本:projects/schematics/src/migrations/migrations.json以下是迁移脚本之一的示例:“migration-v3-constructor-deprecations-03”:{“version":"3.0.0","factory":"./3_0/constructor-deprecations/constructor-deprecations#migrate","description":"Addorremoveconstructorparameters"},26个子文件:从v3开始示例:每个脚本都有四个属性:name、version、factory和description:name可以让开发者快速了解迁移脚本做了什么。迁移名称具有以下模式:migration-v--。name的元素如下:version:表示迁移适用于哪个版本的Spartacus。migration-feature-name:迁移特性名称是描述迁移正在做什么的简称。sequence-number:序号表示迁移脚本的执行顺序。例如,如果脚本的序号是03,那么在运行迁移脚本时,它将是执行的第三个脚本。版本对于Angular更新机制非常重要。它用于自动运行特定版本所需的迁移脚本。有关详细信息,请参阅原理图自述文件的发布更新原理图部分。工厂指向相关的迁移脚本。description是一个简短的自由格式描述字段,用于描述迁移脚本的作用。ConstructorDeprecationprojects/schematics/src/migrations/2_0/constructor-deprecations.ts执行构造函数迁移任务。通常,开发人员不需要触及此文件,而是应该在projects/schematics/src/migrations/2_0/constructor-deprecation-data.ts中描述构造函数弃用。CONSTRUCTOR_DEPRECATION_DATA常量描述已弃用的构造函数并包括addParams和removeParams属性,它们允许您分别指定应添加或删除哪些参数。注释代码当无法自动迁移代码时,我们通常会在客户的代码库中添加注释,描述客户应如何将他们的项目升级到新版本的Spartacus。只有在手动升级很容易并且编写迁移脚本太复杂的情况下,我们才应该这样做。projects/schematics/src/shared/utils/file-utils.ts#insertCommentAboveIdentifier方法在具有指定标识符的TypeScript节点上方添加注释。下面是如何添加注释的示例:如果您删除了一个API方法,您可以在删除的方法上方添加注释,提示可以改用哪个方法。如果更改NgRx操作的参数,则可以在更改参数的操作上方添加注释。ComponentDeprecation与构造函数deprecation类似,projects/schematics/src/migrations/2_0/component-deprecations.ts对组件*.ts和HTML模板执行组件迁移任务。通常,开发人员不需要触及此文件,而是应该在projects/schematics/src/migrations/2_0/component-deprecations-data.ts中描述组件弃用。COMPONENT_DEPRECATION_DATA常量描述了一个已弃用的组件。CSS为了处理CSS更改,我们打印了一个指向CSS迁移文档的链接,客户可以在其中找到哪些CSS选择器在新版本的Spartacus中发生了更改。如果你想更改CSS选择器,只需更新相关文档(例如3.0中的样式更改)。添加Migration(1)检查是否在公共API中导出了任何更改的文件。如果否,则无需采取进一步行动。(2)检查您所做的任何更改是否不破坏更改。如果不是,则无需采取进一步措施。有关详细信息,请参阅维护公共API。(3)对于每个重大变更,您必须执行以下操作:通过更新相应的迁移文档文件(例如docs/migration/3_0.md)记录重大更改,并确保在必要时添加代码注释。b.构建自动化任务,如上面的验证、构造函数弃用和组件弃用部分所述。C。通过运行测试、尝试迁移示例应用程序等方式测试添加的迁移。更多Jerry原创文章在这里:《王子熙》: