Доброго времени!
Для создания проекта использовал «yo bem-stub». Выбранные основные технологии: bemtree, bemjson, bh. Выбранные уровни переопределения: desktop, touch-pad, touch-phone. Сборщик — ENB.
Как при описании блока «page», например, в «desktop.bundles/index/index.bemjson.js» не указывать параметр favicon, а использовать значение и ресурсы самого блока, переопределенного на уровне «common»?
Заранее спасибо за помощь!
common
создаем файлcommon/page/page.bh.js
, пишем туда:Refs:
@zxqfox, про первый пункт ничего не понял, второй уже пробовал.
Если указать в «common.blocks/page/page.bh.js»:
Параметр попадает на сборку «desktop.bundles/index/index.html», но путь не правильный к «page.png». Ответ сервера: «Cannot GET /desktop.bundles/index/page.png». Нужно добиться автоматического переписывания пути к файлу и в будущем чтобы можно было собрать нормально статику «borschik'ом».
Другие варианты из 2-го пункта попробовал, результаты один в один.
Информация по ссылкам была мне известна, но однозначно, спасибо за помощь!
Мой файл «common.blocks/page/page.bh.js»:
Объясните про первый пункт подробнее, пожалуйста, плохо знаком с htmltree.
bemtree служит для генерации bemjson дерева из сырых данных, которые можно получать от API или с сервера. На вход у него (собранного шаблона bemtree из кусочков в блоках) обычный объект с указанием корневого блока. Что-то типа:
А на выходе обычная bemjson структура:
И при генерации этой структуры можно и favicon прописать. Выглядят эти шаблоны как bemhtml, но вместо преобразования в HTML bemjson структуры они её генерируют из сырых данных.
Только проблема в том, что от этого у вас путь правильным все равно не станет, тут надо борщик использовать. И с ним Я так и не поигрался полноценно.
Refs:
@zxqfox, спасибо! Про BEMTREE имел ввиду, что не особо с ним работал, а что и для чего он, я понимаю.
Вроде задачка простая, но как ее решить правильно, не понятно… Мне кажется, что много кто не указывал для каждой страницы «favicon». Решение точно должно быть, буду ждать и думать. ;)