bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

использование bem библиотек без bem сборщиков #212

Open pavel06081991 opened 9 years ago

pavel06081991 commented 9 years ago

Подскажите, пожалуйста. На своем проекте я настроил грант и хочу подключить в проект bem-core ради фрэймворка i-bem.js, и подключить bem-components ради блока дропдауна. Скажите, можно ли будет подключить эти библиотеки, не используя ваши сборщики? Просто отдельно подключить i-bem.js не хочу, хочу именно тот, который находится в bem-core т.к. хочу использовать ym модульную систему. В чем стал вопрос? В том, что у вас парадигма уровней переопределения и, если я подключу какую-нибудь библиотеку, а та в свою очередь переопределяет js библиотеки, которая находится на уровне переопределения ниже, то как это все подключить не используя вашего сборщика? Надеюсь, вы уловили суть вопроса, если что, я дополнительно поясню, спасибо.

iamstarkov commented 9 years ago

У нас тоже болело использовать текущие сборщики и мы сделали gulp-bem https://www.npmjs.org/package/gulp-bem

iamstarkov commented 9 years ago

Но мы обнаружили кучу легаси в bem-core и bem-components как допустим noDeps и подкидывание блока 1 в зависимости блоку 3, в описании блока 2. а так как это всё используется в стандартных библиотеках, то gulp-bem с ними несовместим

iamstarkov commented 9 years ago

но другие люди вроде имеют опыт создание сборщиков на основе существующих bem-tools и надо смотреть в их сторону

varya commented 9 years ago

Можно ещё ENB попробовать. Я, правда, не гарантирую, что на новейших версиях библиотек он будет работать (не пробовала). Но с предыдущими версиями работало. Вот тут код моего блога, там как раз всё собирается при помощи ENB https://github.com/varya/varya.github.com/tree/develop

varya commented 9 years ago

Насчет подключения только i-bem: нужно создать пустую страницу с i-bem, собрать её сборщиками. Получится i-bem.js со всеми необходимыми зависимостями. Потом этот js-файл можно будет подключать к страницам на разных проектах.

tadatuta commented 9 years ago

@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.