SAP Spartacus 的工作原理与 Hybris Accelerator 不同。SAP 不倡议间接复制 Spartacus library 的源代码并在源代码级别上进行批改,这会毁坏 Spartacus 的可降级性。正确的做法,应该将 Spartacus 用作库并应用其余形式(例如依赖注入、组件映射、outlet)来更改其行为。
正确的做法示例:
防止 outlet 的滥用
outlet 是 Spartacus 定制化的一种弱小形式。咱们在利用这个有用工具进行我的项目开发时,也须要分明的意识到它的一些局限性
(1) 咱们无奈通过 CMS 来编辑 outlet
(2) outlet 如果使用不当,可能会造成潜在的性能问题
在应用 outlet 之前,咱们能够先进行评估:这个须要应用 outlet 实现的需要,能够通过 Component mapping 实现吗?
防止应用谬误的 recipe module
Spartacus 提供了所谓的配方模块 (recipe module),有点相似 Commerce Cloud 后盾的 installation recipe. B2cStorefrontModule 是一个典型的例子,它为 B2C 商店提供了一个根本实现。
如果咱们的我的项目需要,是实现一个简略的商店并且冀望能够重用大部分内置性能,那么它是一个完满的抉择。然而,如果打算进行一些更深刻的自定义,则应思考应用另一个模块,例如 StorefrontModule 甚至 StorefrontFoundationModule.
抉择适合的配方模块能够进步性能、更好地控制代码库和更简洁的代码。
Spartacus 自身带有几个层和概念,以及许多能够开箱即用提早加载的较小性能库。
B2cStorefrontModule 是 B2C 施行的初始店面。它能够应用配置和插座轻松定制。然而,当我的项目增长并高度自定义时,应用 StorefrontModule 可能会更无效。这样咱们就能够更细粒度地 import Spartacus 的 library.