Open o5e2e2 opened 7 years ago
Не хватает информации, чтобы ответить на вопрос.
Вообще правильных вариантов ответа примерно 2:
bemdecl.js
, то можно прописать в него. Если же bemdecl.js
генерируется автоматически по bemjson.js
, то такой вариант, очевидно не подходит.Бонус: не очень правильный, но распространенный вариант — прописать в корневой родительский блок (root
, page
или как-он-там-на-проекте-называется).
Модели и вьюхи работают через message-bus к которому асинхронно подключаются. Никак не получалось прописать в page так, чтобы модели и вьюхи асинхронно инициализировались.
Как получилось сделать: 1) сборка на основе bem/project-stub;
2) index.bemjson.js:
{ block: 'page', mix: [ block: 'init-model'], ... }
3) init-model.js:
modules.require(['model'], function() {});
4) init-model.deps.js:
({ shouldDeps: [ 'model', /* зависимости модуля 'model', без этого почему-то не работает */ ] })
Решение получилось совсем неочевидное, но, видимо, более простое решение трудно придумать.
В проекте есть часть системы (модель) с использованием организации файлов по БЭМ и YModules, которая не зависит от вью и могла бы загружаться асинхронно.
Вопрос, куда прописать зависимость бандла от блоков без DOM-представления модели?
Если прописать модель в BEMJSON виде пустого блока, то у блока page появляется зависимость от модели и асинхронной инициализации визуальных блоков внутри page не происходит.