Size: a a a

2019 March 12

ПЗ

Павел Зубков in БЭМ
Ильдар
Перечитал еще раз все по BEMTREE и BEMHTML шаблонам

Еще с этим ознакомился
https://github.com/bem/project-stub/issues/159

И я уже год делаю на классиечском стеке проекты с bem-express, но так и не понимаю зачем у меня лежат bemtree шаблоны, для какой то работы с данными они нужны, что они делают? Я использую только bemhtml все дефолтные bemtree переименовал в bemhtml шаблоны, это не правильно? ПАМАГИТИ)

Пришли мне данные в виде JSON с restapi, какую такую работу с ними должен выполнить bemtree шаблон страницы которыую не должен выполнить bemhtml?
если я не правильно понимаю поправтье плз
bemtree готовит данные для bemhtml, не всегда нужно показать то что с апи пришло, bemtree для проекции данных
источник

VH

Vitaly Harisov in БЭМ
Ильдар
В bem components нет bemtree, они сделаны не правильно?
bem-components это библиотека, она проектируется так, что там есть входные данные для компоненты и компонента себя отрисовывает по ним. Слой поставляющий эти данные может быть любой, не обязательно bemtree. Чтобы не делать лишней завязки на технологии.
источник

ПЗ

Павел Зубков in БЭМ
Павел Зубков
если я не правильно понимаю поправтье плз
bemtree готовит данные для bemhtml, не всегда нужно показать то что с апи пришло, bemtree для проекции данных
разделение на bemhtml и bemtree позволяет отображение и проекцию держать отдельно
источник

VH

Vitaly Harisov in БЭМ
А когда ты пишешь проект, ты полностью контролируешь технологии и слой преобразования данных, соответственно для этого слоя можешь выбрать bemtree, который построит тебе bemjson. В этом случае bemhtml становится всего лишь тонкой прослойкой
источник

VH

Vitaly Harisov in БЭМ
Соответственно, и структура библиотеки и проекта будет разная. В библиотеке лучше использовать nested файловую структуру, чтобы всё было максимально разбито на части и позволяло собрать как угодно. А в проекте удобнее писать стили блока в одном файле и разбивать на отдельные папки/файлы только по мере необходимости
источник

И

Ильдар in БЭМ
А если мне нужно в ibem js отрендерить блок, а он у меня только в bemtree шаблоне, он приедет на клиент? Если приедет то я так и не понимаю зачем нужен шаблон bemhtml только чтоб теги и атрибуты проставлять
источник

VH

Vitaly Harisov in БЭМ
Ильдар
А если мне нужно в ibem js отрендерить блок, а он у меня только в bemtree шаблоне, он приедет на клиент? Если приедет то я так и не понимаю зачем нужен шаблон bemhtml только чтоб теги и атрибуты проставлять
bemtree может содержать код, который опасно загружать в браузер, секреты всякие и прочая бизнес-логика
источник

И

Ильдар in БЭМ
Vitaly Harisov
bemtree может содержать код, который опасно загружать в браузер, секреты всякие и прочая бизнес-логика
Пусть так, тогда я делаю проект на bemtree, оформляя только теги и атрибуты в bemhtml. Проект состоит из блоков и в какой момент мне принять что для какого-то блока нужно только bemhtml предоставление
источник

Р

Роман in БЭМ
Vitaly Harisov
bemtree может содержать код, который опасно загружать в браузер, секреты всякие и прочая бизнес-логика
+ ещё случайно неверно описанный deps может затянуть на клиент кучу js-шаблонов
источник

Р

Роман in БЭМ
Ильдар
Пусть так, тогда я делаю проект на bemtree, оформляя только теги и атрибуты в bemhtml. Проект состоит из блоков и в какой момент мне принять что для какого-то блока нужно только bemhtml предоставление
просто переименовываешь файл
источник

VH

Vitaly Harisov in БЭМ
Ильдар
Пусть так, тогда я делаю проект на bemtree, оформляя только теги и атрибуты в bemhtml. Проект состоит из блоков и в какой момент мне принять что для какого-то блока нужно только bemhtml предоставление
В проекте у тебя не будет блоков, у которых есть только bemhtml представление.
источник

И

Ильдар in БЭМ
Vitaly Harisov
В проекте у тебя не будет блоков, у которых есть только bemhtml представление.
Ok, на проекте я использую, bemtree, зачем придумали теги выносить отдельно в bemhtml шаблоны какие-то, теги и атрибуты, это не так много мусора если бы оставить в bemtree все. Какую цель преследуют bemhtml шаблоны?
источник

И

Ильдар in БЭМ
Вы мне все подробно обясняете спасибо, но я разницы не вижу в этих шаблонах
источник

VH

Vitaly Harisov in БЭМ
источник

VH

Vitaly Harisov in БЭМ
посмотри что тут в bemtree, а что в bemhtml в блоках
источник

VH

Vitaly Harisov in БЭМ
источник

VH

Vitaly Harisov in БЭМ
источник

VH

Vitaly Harisov in БЭМ
из bemtree на выходе получается bemjson, а из bemhtml — html
источник

VH

Vitaly Harisov in БЭМ
из одного и того же bemjson, получившегося в результате отработки bemtree, может быть построен разный html разными шаблонами. или из bemjson вообще строить не html, а другой формат
источник

VH

Vitaly Harisov in БЭМ
смысл такой, что bemjson это более абстрактный формат описания интерфейса, чем конкретный html. и ты по данным строишь абстратный интерфейс в виде bemjson, а потом уже маппишь его в конктретную технологию HTML с помощью bemhtml
источник