Когда какую технологию использовать, почему для bemhtml необходимо писать deps.js, зачем вообще bemhtml, когда есть bemtree?
Насколько я понял, bemtree по синтаксису больше похож на bemhtml и создан специально для того, чтобы генерировать bemjson. Когда пишешь много bemjson, очень скоро хочется писать меньше bemjson. Я почти сразу стал генерировать bemjson через bemhtml, что в принципе неверно. Поэтому посоны придумали bemtree. Я могу ошибаться, bemtree еще плотно не курил.
Если коротко, то потому что так bemhtml быстрее работает и так написано в доке.
Пример кода, который это иллюстрирует:
Подробнее см. http://ru.bem.info/articles/deps-js-syntax/
Я думал вопрос в том, почему зависимости автоматически не подхватываются из bemhtml. И решил сделано так в угоду скорости .
1. страничный bemhtml — это результат сборки и компиляции блочных bemhtml-файлов. а чтобы их собрать, мы должны заранее знать, какие сущности нам нужны.
2. в bemhtml можно писать произвольный код на js, например:
чтобы из этого кода понять, что нам нужны зависимости вида { block: 'block', mods: { pos: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] } } нужно заранее каким-то образом собрать этот bemhtml и выполнить его, предварительно положив в контекст someFlag = true.
Точно, об этом уже не раз говорили, я забыл. Спасибо за разъяснения.