Ребят, делаю сайт , а у меня блок footer и меню одинаковые на всех страницах , вместе с контентом. Как - то можно вынести их в папку и из этой папки, подключать всем страницам , чтобы не копипастить в каждую страницу ?
Ребят, делаю сайт , а у меня блок footer и меню одинаковые на всех страницах , вместе с контентом. Как - то можно вынести их в папку и из этой папки, подключать всем страницам , чтобы не копипастить в каждую страницу ?
Оформить в виде блока и расположить в common.blocks. Такие блоки будут доступны в любом бандле.
Например footer.bemjson.js и там описать этот блок?
в common.blocks создаёте папку footer, в ней шаблон footer.bh.js:
или аналогичный на bemhtml В bemjson просто указываете
{ block: 'footer' }
https://ru.bem.info/technology/bemhtml/v2/templating/ https://ru.bem.info/technology/bh/ https://ru.bem.info/technology/bemhtml/v2/reference/
@Rahnar Привет! Я переименовал тему, чтобы проще было искать. Вроде мы все способы обсудили в https://ru.bem.info/forum/issues/214/
Самые простые варианты: 1) Вынести код этих блоков в шаблоны и добавить соответствующие deps.js
2) Оформить эти блоки как common.js-модули и подключать через require().
О, пока я писал, @Guria уже все рассказал! :+1:
@tadatuta я помню, но там я задавал вопрос по поводу вывода контента в списки li более удобными способами чем статическое их описание. А тут реиспользование блоков на всех страницах. Немного по-другому вопрос стоит)Спасибо еще раз за ответы!)Вопросов больше нет!) p.s: Не знал как правильно топик назвать)))
@Guria нашел у тебя в репозитории, где такую штуку делаешь как раз!)
@Rahnar
эту штуку
тут все делают. Именно так блоки и оформляются, в том числе вbem-core
иbem-components
@Guria Благодарю !)
@tadatuta
А почему не проброситьrequire
, еслиmodule.exports
отсутствует?upd Хотя, кажется, вспомнил, но если все равно можем написать
module.exports
— немного странно.