если я правильно понимаю клиент подключается к NodeJs, который собирает для него страничку из bemhtml.
bemhtml или bemjson это статика.
Что делать если необходимо взять информацию с backend`а? Как быть если необходимо отреагировать на какойто запрос пользователя?
видел презентации где bem-tools используется в качестве шаблонизатора например для джанго, но этот метод меня немного смущает.
Как этот момент задумывался разработчиками?
bem-tools это инструмент для сборки проекта, а не шаблонизатор.
В первом случаее node.js выступает в роли шаблонизатора и прокси перед бекендом, он не только отрисовывает странички используя bemtree и bemhtml но и делает запросы в бекенд, получая данные.
Во второму случаее все делает бекенд через биндинг V8, для питона это библиотека pyv8. Тут все просто, берем bemtree и bemthml файлый, уже готовые данные в виде json, и испольняем их в V8, в результате получаем html, который и отдаем.
Есть ли примеры реализации первого варианта? Или готовые реализации метода.
https://github.com/narqo/bem-yana
https://github.com/wtfil/bem-node
Я правильно понимаю, что речь о неком прокси сервере, который цепляется к проекту со всеми его библиотеками блоков и рисует хтмл.
Т.е. если в ответ от BE пришла BEMJSON структура (например, судя по заголовкам) он его рендерит с помощью заранее собранных BEMHTML шаблонов из блоков? А если нет, то просто отдает ответ дальше asis?
Ясно, спасиб. Хочу bem-proxy
предлагаю отдельным постом в клуб описать хотелку подробнее.
У меня встречное предложение
Я почти дописал свою хотелку, но есть неясности в сборке bemhtmlя с зависимостями. Момент с тем, что именно будет в BEMHTML, и чего не будет, не очень прозрачен, нужно будет подумать.
В общем, я её сегодня-завтра допилю (благо, npm test наконец-то прошел почти на 100%), и выложу на суд читателя. Обсудим, допилим. Кстати, имхо, это самый лучший и просто способ для перевода старых проектов на БЭМ «постраничным» © способом.
Да, думаю, что это возможно. Идея хорошая.
А в project-stub@bem-core есть страничка, с использованием bemtree? Или, может, есть другой проект, где есть весь свежак, и на котором можно поиграться?