Spartacus 库的每个主要版本都蕴含新性能,这些性能通常是对现有组件的改良。 这些性能通常是用户所冀望的,但在某些状况下,这些更新可能被视为破坏性更改,尤其是当您在特定行为或 DOM 构造之上构建了本人的自定义时。

Feature level

为了放弃严格的向后兼容性,Spartacus 蕴含可配置的性能级别,这有助于在改良现有组件的同时放弃可预测的行为。

默认状况下,性能级别设置为最新的次要版本(例如 1.0)。 要利用主要版本(例如 1.3)中引入的新行为和改良,您能够配置性能级别,如下例所示:

{  features: {    level: '1.3'  }}

每个间断的特色级别都蕴含前一个特色级别的所有特色。

如果您心愿您的性能级别始终设置为最新版本,您能够应用最新标记 ('*'),如下所示:

features: {  level: '*'}

您还能够通过在版本号前增加感叹号 (!) 来禁用特定性能级别的性能。 上面是一个例子:

<newComponent *cxFeatureLevel="'!1.1'"></newComponent>

Feature Flags

一些重要的性能能够应用特定的性能标记有选择地切换。

上面是一个例子:

{  features: {    someFeature: false  }}

性能标记能够链接到性能级别,如果定义的性能级别可用,则默认状况下会启用性能。

您能够同时配置性能级别和性能标记,如下例所示:

{  features: {    level: '1.1',    feature1: false,    feature2: true  }}

在此示例中,性能级别设置为 1.1。 将 feature1 设置为 false,如果 feature1 通常是 1.1 版功能集的一部分,您能够有选择地禁用此性能,同时保留 1.1 版中的其余性能。

如果 feature2 是 1.5 版本的一部分,通过将其设置为 true,您能够启用它,否则只能启用 1.1 版本的性能。

如果您有选择地启用性能,建议您特地留神测试您的应用程序。 只管性能标记用于许多不同的 Spartacus 性能,但不能保障所有性能都实用于性能标记和性能级别的所有可能组合。