Заманчиво выглядит сгенерить на BEM MapReduce и загрузить в CouchDB. Можно было бы и json отдавать, и html для блоков на разных уровнях. Навскидку проблема с модулями: reduce не поддерживает, а в остальных результаты не кешируются. Может BEM собираться без модулей (все инлайнить)?
А можно подробнее про задачу? Что в данном случае подразумевается под BEM и какую задачу хочется решать с помощью MapReduce?
CouchDB документо-ориентированная база с интерфейсом по REST. Запросы реализуются через MapReduce(view) на javascript. Т.к. функции MapReduce вычисляются инкрементально и сохраняются, но вроде как получаем кеширование из коробки. Идея попробовать реализовать приложение только на CouchDB. Cкомпилированные шаблоны bemtree, bemhtml реализуют цепочку MapReduce, на выходе json или html.
У меня сейчас очередная попытка вникнуть в BEM, простите если вопрос дурацкий. :) Скомпилированные шаблоны не содержат подключений внешних модулей? С этим кажется у CouchDB проблемы.
В общем хотелось бы и бекенд разрабатывать по BEM и теми же инструменатами.
Скомпилированные шаблоны не содержат внешних модулей, их код может смело работать в браузере без подключения к интернету.
Еще можно через pouchDb по тому же API в браузере в indexedDb сохранятся, пока оффлайн. А где можно найти скомпилированные шаблоны?
Вот бандлы с базовыми шаблонами: bemhtml.js bemtree.js
Сгенерировать бандлы с кастомными шаблонами удобнее всего с помощью еще не зарелиженной версии:
где файлы
path/to/templates.bemhtml.js
иpath/to/templates.bemtree.js
содержат шаблоны необходимых блоков.Большое спасибо, буду разбираться