Добрый день!!
Не могу разобраться почему не подтягиваются зависимости задекларированные в Deps
В блоке: activities
существует блок content-image
с модификатором content-image_img_left
В файле activities.deps.js
существует следующее содержимое:
([
{
shouldDeps: [
{
block: 'content-image',
mods: { img: [
'left',
'right'
]
}
}
]
}
])
Пробовал по разному:
- Имя модификатора передавать строкой в Deps
- Модификаторы передавать массивом и прочим синтаксическим сахаром
залил проект в гитхаб
Сборка ENB. При сборке Gulp - без деклараций работает, и по зависимостям (от блока) приходит то что надо. Хотя он и задекларирован только в index.bemjson
Пожалуйста помогите разобраться
Не обнаружил в репозитории модификаторов у
content-image
(смотрю здесь https://github.com/DjonyBastone/osipbove-bem-project/tree/177a0562f570ca1a4ccced5a9fc34abe94d19e24/common.blocks/content-image).PS: заметил вложенные матчи в шаблонах: https://github.com/DjonyBastone/osipbove-bem-project/blob/177a0562f570ca1a4ccced5a9fc34abe94d19e24/common.blocks/content-image/content-image.bemhtml.js#L2-L4 (и аналогично для селекторов на вложенные блоки). Они не поддерживаются. На самом деле это равносильно тому, чтобы писать только вложенные матчи, внешние просто игнорируются шаблонизатором.
@tadatuta Модификаторы
content-image
лежат в уровне desktop.blocks/content-image. При сборке ENB это имеет значение? У меня конечно были некоторые проблемы после перехода с gulp, некоторым блокам пришлось явно указывать зависимости в deps. Но что бы по указанным зависимостям, не собирались CSS - это впервые, и выхода не вижу. Перекладывал технологии реализации модификаторов на уровеньcommon.blocks
- не помоглоPS: " вложенные матчи" - да согласен, и вы уже указывали на это, я помню. С того момента не пишу так больше, просто это старый блок, переписываю по мере работы с текущими блоком.
Такой код по заповедям?
@tadatuta Подскажи пожалуйста:
activities.deps.js
?css
? С чего начинать поиск багов?activities.deps.js
в порядке, проблема в названии папок для модификаторов.Ожидается так:
Для депсов есть линтер на базе
bemhint
: https://github.com/bemhint/bemhint-deps-schema Результат сборки депсов можно явно просмотреть глазами вindex.deps.js
. Ну а дальше, если сборка не упала, то остаются только опечатки в названиях папок/файлов и строках внутриindex.deps.js
.Спасибо. Именно в наименовании папок были проблемы. Всё собралось. Получается что сборщик Gulp собирает все файлы, не зависимо от структуры проекта.
index.deps.js
смотрел, интересовало, каким инструментом проходит всеdeps
файлы.Еще раз спасибо
@zxqfox, похоже, сборка на gulp матчит файлы не по схеме?
Ну что bem-walk возвращает, то gulp-bem и использует. Если gulp-bem-src не используется, то зависит от маски в gulp-src
Насколько я вижу, ничего специально не задается, это какие-то наши дефолты: https://github.com/DjonyBastone/osipbove-bem-project/blob/master/gulpfile.js#L31