Допустим, я хочу чтобы шаблоны компилились по технологии require('enb-bemxjst/techs/bemhtml'), а bemjson в html по технологии require('enb-bh/techs/bemjson-to-html'). То есть шаблоны я прогоняю через BEMHTML, а bemjson через BH. Как это сделать, чтобы не было ошибок при сборке?
Это очень странное желание. Какую задачу должна решать такая сборка?
Вероятно есть блоки на BH и на BEMHTML и хочется, чтобы они работали вместе.
Но факт, что пока только можно выбрать одно из
Нам просто больше по душе синтаксис написания шаблонов BEMHTML, но не нравится то, что BEMJSON должен содержать корневой блок, который есть в шаблонах. То есть при записи:
Если такого шаблона нет, то в HTML ничего не сгенерится. А в BH сгенерится
<div class="b"></div>
@Trusow а дописать интерпретатор на то, чтобы брать имя из файла?
@Trusow звучит очень странно. Если взять «пустой» BEMHTML-бандл (без пользовательских шаблонов) и передать ему на вход
{ block: 'b' }
, то на выходе будет<div class="b"></div>
, т.е. в точности как в BH.Предполагаю, что проблема в чем-то другом. Готов помочь разобраться, но нужны подробности.
@pavelpower, не совсем понял, о каком интерпретаторе речь? @tadatuta, странно, из коробки (stub), не срабатывает. make дефолтный.
@Trusow да, справедливо. Это реализация технологии сборки в
enb-bemxjst
, которая при отсутствии пользовательских шаблонов исключает и код ядра из результатов сборки.Отправил PR, который позволит управлять этим поведением через опцию: https://github.com/enb-bem/enb-bemxjst/pull/119
@Trusow я видимо не совсем верно понял проблему. Речь явно не про то, что мне сначала показалось.
@Trusow Забирайте новую версию — https://github.com/enb-bem/enb-bemxjst/releases/tag/v4.1.0
@tadatuta большое спасибо