Open awinogradov opened 9 years ago
Выспался? ;)
А если так? (сделал массив) не уверен что в этом проблема, но все же
А еще row
добавил в технологию js
[{
tech : 'js',
mustDeps : [
{ tech : 'bemhtml', block : 'i-bem' },
{ tech : 'bemhtml', block : 'row' }
]
},
{
tech : 'spec.js',
mustDeps : [
{ tech : 'bemhtml', block : 'row' }
]
},
{
mustDeps : [
{ block : 'i-bem', elems : 'dom' },
{ block : 'mq' }
],
shouldDeps : [
{ block : 'row', mods : { flexbox : 'disabled' } },
{ elems : 'col' }
]
}]
Скорее
({
tech : 'js',
mustDeps : [
{ tech : 'bemhtml', block : 'i-bem' },
{ tech : 'bemhtml', block : 'row' }
]
},
{
mustDeps : [
{ block : 'i-bem', elems : 'dom' },
{ block : 'mq' }
],
shouldDeps : [
{ block : 'row', mods : { flexbox : 'disabled' } },
{ elems : 'col' }
]
})
В примерах выше блок row в технологии bemhtml подключается только для тестов - собственно, поэтому в фантоме все ок.
Ну надеюсь теперь можно спать спокойно :)
Не хотелось бы вас расстраивать) Но нет, так тоже не работает. Увы :( Ошибка та же, абсолютно.
git clone git@github.com:verybigman/bem-grid.git
cd bem-grid
git checkout 8218ef38503fc224219788692e7ddcd965f6428e
npm i
bower-npm-install
потом
git diff
diff --git a/common.blocks/row/row.deps.js b/common.blocks/row/row.deps.js
index 72af942..3d10de9 100644
--- a/common.blocks/row/row.deps.js
+++ b/common.blocks/row/row.deps.js
@@ -1,22 +1,25 @@
-({
- tech : 'js',
- mustDeps : [
- { tech : 'bemhtml', block : 'i-bem' }
- ]
-},
-{
- tech : 'spec.js',
- mustDeps : [
- { tech : 'bemhtml', block : 'row' }
- ]
-},
-{
- mustDeps : [
- { block : 'i-bem', elems : 'dom' },
- { block : 'mq' }
- ],
- shouldDeps : [
- { block : 'row', mods : { flexbox : 'disabled' } },
- { elems : 'col' }
- ]
-})
+[
+ {
+ tech : 'js',
+ mustDeps : [
+ { tech : 'bemhtml', block : 'i-bem' },
+ { tech : 'bemhtml', block : 'row' }
+ ]
+ },
+ {
+ tech : 'spec.js',
+ mustDeps : [
+ { tech : 'bemhtml', block : 'row' }
+ ]
+ },
+ {
+ mustDeps : [
+ { block : 'i-bem', elems : 'dom' },
+ { block : 'mq' }
+ ],
+ shouldDeps : [
+ { block : 'row', mods : { flexbox : 'disabled' } },
+ { elems : 'col' }
+ ]
+ }
+]
после чего
bem server
В браузере http://localhost:8080/promo.pages/index/index.html
И в браузерной консоли
modules.require(['BEMHTML'], function(BEMHTML) {
console.log(BEMHTML.apply({ block: 'row' })); // <div class="row i-bem" data-bem="{"row":{}}"></div>
});
Работает!!! Володя, спасибо! Осталось понять в чем же было дело :(
депсы в случае использования общий зависимостей и зависимостей по технологиям должны быть массивом.
а когда ты так пробовал и не помогло, скорее всего виноват был кэш.
По всей видимости да, огромное спасибо!
Проблема невероятно чудесная. Вот здесь https://github.com/verybigman/bem-grid/blob/8218ef38503fc224219788692e7ddcd965f6428e/common.blocks/row/row.deps.js подключаю как зависимость по технологии bemhtml блоки
i-bem
иrow
. Ожидается, что шаблонrow
попадет в бандл с browser.js. Но не все так просто. При запуске в браузере получаю ошибку:Uncaught Error: Module "row": can't resolve dependence "BEMHTML"
, тесты проходят безупречно. Почему в фантоме все ок, а в живом браузере нет? Народ, помогите, я спать не могу из-за этого. Сбросить кэш не предлагать. Подключать bemhtml.js тоже не true. Сборщик bem-tools.