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 性能,但不能保障所有性能都实用于性能标记和性能级别的所有可能组合。