По большей части переопределение существующего Spartacus работает нормально.
Минимальное количество усилий
B2cStorefrontModule.withConfig({
cmsComponents: {
DefaultComponent: {
component: CustomComponent
}
},
В основном я делаю это, потому что мне нужно внести некоторые изменения в компоненты html. Поэтому я копирую и вставляю его в свой сгенерированный customComponent. Но в большинстве случаев этот html содержит директивы и каналы, которые требуют добавления дополнительных модулей в мои app.modules. Иногда это работает нормально, но во многих других случаях html просто не отображается.
Пример: SearchBoxComponent
при попытке использовать html я получаю ошибку браузера:
Error: Template parse errors:
The pipe 'cxHighlight' could not be found ("
<a
*ngFor="let suggestion of result.suggestions"
[innerHTML]="[ERROR ->]suggestion | cxHighlight: searchInput.value"
[routerLink]="
{
"): ng:///AppModule/EmvSearchBoxComponent.html@49:21
В других случаях мне удавалось исправить это, включив соответствующий модуль, который ссылается на этот канал «cxHighlight». В данном случае "SearchBoxModule". Но все равно ничего хорошего.
Как сделать эту трубу доступной в моем проекте? Или, может быть, есть еще лучший способ обойти всю эту импортированную боль?