Всем привет. Начал я знакомится с БЭМ, очень он мне понравился. Решил попробовать его вживую. Склонировал себе project-stub, установил зависимости. Все работает, все круто, все попробовал, кароче все супер. Но тут я дошел до i-bem js, думаю дай попробую написать что-то простенькое на нем. Взял блок:
{ block: 'header', js: true, content: [ 'header content goes here' ] }В папке common.blocks создал как полагается папку header, положил туда header.js И написал туда самое простое что смог придумать:
console.log(1); modules.define('header', ['i-bem__dom'], function(provide, BEMDOM) { provide(BEMDOM.decl(this.name, { onSetMod : { 'js': { 'inited': function () { console.log('hello'); this.bindTo('click', function(e) { console.log("Clicked!") }); } } } })); });
Единица выводится, а вот hello и уж темболее clicked нет. В чем может быть проблема? Не знаю в какую сторону копать, может какая-то зависимость не установилась или в синтаксисе не разобрался. Не пойму...
М.б., не хватает
в зависимостях?
Да я уже вроде бы как понял в чем проблема. Я подсмотрел в bem-components как там реализованы такие вещи. Как оказалось модуля i-bem__dom зависимостях нет, он теперь он называется "i-bem-dom". Его либо переименовали а на bem.info еще не везде переписали, либо я что-то не так делал и у меня он теперь так называется. Хотя я почитал статью "Быстрый старт по созданию статической страницы" и там он тоже по такому имени в зависимостях вызывается. Зато здесь вот он вызывается по старому названию https://ru.bem.info/platform/tutorials/i-bem/block/
Да, этот туториал действительно опирается на предыдущую версию
bem-core
. Обновим, как только дойдут руки.