Возможно ли использование компонентов реализованных как bem блоки на проектах ничего не знающих о bem? Если да, то как именно?
Возможно ли использование компонентов реализованных как bem блоки на проектах ничего не знающих о bem? Если да, то как именно?
@Guria Хочется более подробного описания, что подразумевается под bem-блоками.
В целом ответ — да, конечно, можно. Для этого достаточно собрать и подключить на проект бандл, состоящий из необходимых bem-блоков и их зависимостей. Работать с ними можно самым разным образом. Например,
Ну например любой блок из bem-components. Я думаю вы правильно меня поняли. Пример с использованием меня устроил.
С этим для меня пока посложнее, но попробую разобраться, благо задача не стоит остро. Больше интересовал теоретический вопрос.
Хотя на более подробный пример интересно тоже взглянуть. Интересует что же попадёт в собранный с зависимостями бандл, например для того же input из bem-components.
Например, можно взять project-stub, положить в
index.bemjson.js
толькособрать в продакшен-режиме
YENV=production ./node_modules/.bin/enb make
и полученный _index.js подключить на проект.Разумеется, тянуть ради одного единственного блока модульную систему и i-bem.js с зависимостями будет «дороговато», но определенно работать будет.
Если же потенциально нужны все блоки из
bem-components
, то для этого есть возможность сборки поставки а-ля Bootstrap, когда декларация строится автоматически по файловой системе. Для запуска сборки нужно запуститьnpm run dist
, результат по каждому уровню переопределения окажется в папкеdist
в корне проекта. Тогда после подключения нужных файлов к проекту, можно будет в примерах блоков на bem.info копировать HTML вместо BEMJSON (над каждым примером есть соответствующие кнопки) и все должно работать.Спасибо за исчерпывающий ответ.
@Guria У меня таким образом собранный i-bem.js до сих пор на паре проектов крутится ;-). Он из bem-bl, и без модульной системы.