bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

enb-bem-techs cборка страницы #433

Open hotspurs opened 9 years ago

hotspurs commented 9 years ago

Здравствуйте команда 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. Подскажите где кроется проблема.

blond commented 9 years ago

Привет!

Вначале предположил, что надо добавить таргет для html.

Всё правильно! Исправил это в руководстве.

Но тогда сборка заканчивается с ошибкой Error: Match failed.

Похоже, что ошибка в BEMHTML шаблонах. Можешь показать код?

hotspurs commented 9 years ago

Вот репозиторий - https://github.com/hotspurs/enb-tuts

tadatuta commented 9 years ago

@hotspurs проблема связана с тем, что не подключаются базовые BEMHTML-шаблоны (которые задают значения по умолчанию). В текущем мире они хранятся в библиотеке bem-core в блоке i-bem. В ней же есть и шаблон-обвязка для блока page, так что писать самостоятельно ее не придется. Но если по какой-то причине хочется отказаться от использования готовых библиотек блоков, то можно попробовать заиспользовать bem-xjst из ветки 2.x — там базовые шаблоны включены в компилятор. Пример настройки сборки для project-stub: https://github.com/bem/project-stub/commit/2108a232271c4e2d323ea28ac99ae29d5ca3c8c2

Guria commented 9 years ago

@tadatuta Всё таки решили обособить базовые шаблоны? Из следующей версии bem-core тоже их уберут?

hotspurs commented 9 years ago

@tadatuta Спасибо! Добавил в уровни

[techs.levels, { levels: ['libs/bem-core/common.blocks','libs/bem-core/desktop.blocks','common.blocks'] }]

Теперь html собирается.

tadatuta commented 9 years ago

@Guria предполагаю, что в следующем мажорном — да. А пока я чуть поправил технологию, чтобы она выпиливала их на уровне сборки: https://github.com/tadatuta/enb-bemxjst/blob/bem-xjst-2x/techs/bemhtml.js#L34-L36