Подскажите, пожалуйста. На своем проекте я настроил грант и хочу подключить в проект bem-core ради фрэймворка i-bem.js, и подключить bem-components ради блока дропдауна. Скажите, можно ли будет подключить эти библиотеки, не используя ваши сборщики? Просто отдельно подключить i-bem.js не хочу, хочу именно тот, который находится в bem-core т.к. хочу использовать ym модульную систему. В чем стал вопрос? В том, что у вас парадигма уровней переопределения и, если я подключу какую-нибудь библиотеку, а та в свою очередь переопределяет js библиотеки, которая находится на уровне переопределения ниже, то как это все подключить не используя вашего сборщика? Надеюсь, вы уловили суть вопроса, если что, я дополнительно поясню, спасибо.
У нас тоже болело использовать текущие сборщики и мы сделали gulp-bem https://www.npmjs.org/package/gulp-bem
Но мы обнаружили кучу легаси в bem-core и bem-components как допустим noDeps и подкидывание блока 1 в зависимости блоку 3, в описании блока 2. а так как это всё используется в стандартных библиотеках, то gulp-bem с ними несовместим
но другие люди вроде имеют опыт создание сборщиков на основе существующих bem-tools и надо смотреть в их сторону
Можно ещё ENB попробовать. Я, правда, не гарантирую, что на новейших версиях библиотек он будет работать (не пробовала). Но с предыдущими версиями работало. Вот тут код моего блога, там как раз всё собирается при помощи ENB https://github.com/varya/varya.github.com/tree/develop
Насчет подключения только i-bem: нужно создать пустую страницу с i-bem, собрать её сборщиками. Получится i-bem.js со всеми необходимыми зависимостями. Потом этот js-файл можно будет подключать к страницам на разных проектах.
@varya ENB поставляется в
project-stub
на равных правах сbem-tools
, так что гарантированно будет работать.@pavel06081991 Рекомендую к ознакомлению пост команды про сборку с БЭМ-хакатона.
Еще один вариант — собрать
i-bem.js
+dropdown
в виде css- и js- файлов, которые затем конкатенировать с проектными css и js с помощьюgrunt
. Для этого можно воспользоваться прототипом online-сборщика или, как написала @varya, взять project-stub, задекларировать в desktop.bundles/index/index.bemjson.js только нужные блоки, собрать с помощью одного из идущих в комплекте сборщиков, забрать полученные файлы к себе на проект и дальше использоватьgrunt
.