Не могу разобраться с подключением своих блоков на разные страницы.
Например, создал я в папке desktop.blocks папку с неким блоком и файл стилей для него. Этот блок может встречаться в неизменном виде на некоторых страницах проекта. Как сделать так, чтобы можно было подключать этот блок в нужном месте, не описывая каждый раз структуру блока в page.bemjson.js для каждой страницы, где он встречается? В php я бы просто сделал include в нужном месте на нужный файл.
Спасибо за внимание.
Судя вот по этому ишью, должен работать require
Для того чтобы любой блок попал в сборку необходимо чтобы было его упоминание было в bemjson по которому осуществляется сборка или должна быть явно задана зависимость от этого блока в любом из блоков который заведомо попадает в сборку. Скорее всего вы используете на всех своих страницах блок
page
изbem-core
или у вас есть свой подобный аналог. Тогда есть 2 варианта:page
на общем уровне (desktop.blocks или common.blocks), положить в него файл page.deps.js:В этом случае блок
my-block
будет подключаться всегда когда используется блокpage
.blocks
в папке вашего бандла (где лежит исходныйbemjson
) и разместить в ней папку page с файломpage.deps.js
из предыдущего пункта. В этом случае блокmy-block
будет подключаться когда используется блокpage
, но только в тех бандлах, в которых вы разместите подобную зависимость.@apsavin твой ишью совсем о другом и не позволит подключить css блока.
PS. У меня стойкое чувство дежавю, как будто точно в такой формулировке этот вопрос уже звучал.
Подробнее про зависимости Как устроены БЭМ-проекты Сборка бандла по BEMDECL Сборка страницы по BEMJSON
@tadatuta не нашёл в документации где освещена возможность создании папки блоков только для текущего бандла
@Guria А мне кажется, это ты не так понял топикстартера)
Человек спрашивает про аналог include, чтобы не описывать структуру bemjson каждый раз. А не про попадание css в сборку.
@Guria Была вот такая тема: http://webcache.googleusercontent.com/search?q=cache:64ymgLsYAxEJ:clubs.ya.ru/bem/replies.xml%3Fitem_no%3D2508+&cd=10&hl=ru&ct=clnk&gl=ru&lr=lang_en|lang_ru
Как ее найти не в кэше гугла - вопрос)
@Guria
Боюсь, что мы действительно нигде отдельно про это не писали :( Исправимся.
@apsavin Да, с поиском по форуму беда, делаем sitemap. А так указанный пост здесь: https://ru.bem.info/forum/-287/
@apsavin возможно ты прав или истина на самом деле где-то посередине