Здравствуйте команда BEM и сообщество. Изучаю сборщик enb. В данном примере - https://github.com/enb-bem/enb-bem-techs/blob/master/docs/build-page.md показана сборка страницы по bemjson. Сборка происходит без ошибок но файл page.html не создается. Вначале предположил, что надо добавить таргет для html.
nodeConfig.addTargets(['?.css', '?.js', '?.html']);
Но тогда сборка заканчивается с ошибкой Error: Match failed. Подскажите где кроется проблема.
Привет!
Всё правильно! Исправил это в руководстве.
Похоже, что ошибка в BEMHTML шаблонах. Можешь показать код?
Вот репозиторий - https://github.com/hotspurs/enb-tuts
@hotspurs проблема связана с тем, что не подключаются базовые BEMHTML-шаблоны (которые задают значения по умолчанию). В текущем мире они хранятся в библиотеке bem-core в блоке i-bem. В ней же есть и шаблон-обвязка для блока
page
, так что писать самостоятельно ее не придется. Но если по какой-то причине хочется отказаться от использования готовых библиотек блоков, то можно попробовать заиспользоватьbem-xjst
из ветки 2.x — там базовые шаблоны включены в компилятор. Пример настройки сборки дляproject-stub
: https://github.com/bem/project-stub/commit/2108a232271c4e2d323ea28ac99ae29d5ca3c8c2@tadatuta Всё таки решили обособить базовые шаблоны? Из следующей версии bem-core тоже их уберут?
@tadatuta Спасибо! Добавил в уровни
Теперь html собирается.
@Guria предполагаю, что в следующем мажорном — да. А пока я чуть поправил технологию, чтобы она выпиливала их на уровне сборки: https://github.com/tadatuta/enb-bemxjst/blob/bem-xjst-2x/techs/bemhtml.js#L34-L36