-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeError: 'undefined' is not an object (evaluating 'Input.decl') #16
Comments
Привет! Можешь добавить немного подробностей? |
Да, канеш, сорри:) я создаю модификатор блоку modules.define('input', function(provide, Input) {
provide(Input.decl({ block : this.name, modName : 'type', modVal : 'link' }, {}));
}); в депсах у модификатора пишу [{
tech : 'spec.js',
mustDeps : [
{ tech : 'bemhtml', block : 'input', mods : { type: 'link'} }
]
}] Пишу тест. Пустой даже. И получаю эту ошибку. Долгое изыскание принесло понимание, что дело не в втоих спеках, а в модульной системе походу. И следующая запись решила проблему, но так как-то не тру. provide(BEMDOM.decl({ block : this.name, modName : 'type', modVal : 'link' }, {})); |
@verybigman попробуй не задавать |
По-моему, это не решает проблему, получаю ошибку на decl
|
@verybigman тогда ждем тест-кейс, на котором можно было бы поэкспериментировать |
Сделал копию bem-components репозитория, удалили все блоки, добавил свои и подключил bem-compnents вот тут https://github.com/verybigman/test-case/tree/master/common.blocks/input/_type |
@verybigman пока понятно только, что проблема в порядке подключения зависимостей — код модификатора идет раньше, чем код самого блока, поэтому |
Это очень грустно. Объявление через BEMDOM помогает, но блок тогда не инитится в тестах |
Не грусти, у нас есть волшебный @andrewblond, он обязательно все починит ;) |
Будем ждать:) Спасибо за помощь! |
Мужчины! Тут выяснилось внезапно, что все дело в суффиксах технологий. По каким-то причинам *.js собирается после *.browser.js. Через *.js все описано в компонентах и нет там *.browser.js. Хотя как по мне, то должно собираться *.vanilla.js -> *.browser.js, *.vanilla.js -> *.node.js |
Cуффикс При этом Может где-то |
Проверим, напишу че как. Еще в тестах как-то криво собирается bemhtml:) ретурн контекста раньше условий блока в бандле. Пока грешу на мердж. Разбиремся. |
@verybigman @andrewblond по поводу "кривой сборки bemhtml" завел отдельную заявку #18 |
отдельную заявку закрыл ;) |
@tadatuta спасибо! |
Вроде всё решилось? Закрываю задачу, если, что не стесняйтесь переоткрыть ;) |
Как с этим бороться? Понятно только что проблема с депсами, что мол они не объект, только вот они все массив так-то. @andrewblond ты не в курсе?
The text was updated successfully, but these errors were encountered: