Войти с помощью github
Форум /

Привет,

Рад сообщить, что наконец-то вышел долгожданный релиз enb-bh версии 1.0.0.

О том, что же важного и вкусного произошло, расскажу в этом посте.

Поддержка BH 4.x

Пакет поддерживает версию шаблонизатора BH 4.1.0 и выше.

Для настройки шаблонизатора BH вместо специальных опций (jsAttrName, jsAttrScheme и clsNobaseMods) теперь одна — bhOptions. Она принимает любые возможные натройки, реализованные в самом шаблонизаторе, включая новые jsCls, jsElem, escapeContent, delimElem, delimMod, shortTags.

О том, как перейти на новую версию BH, читайте в руководстве по миграции.

Технологии

Технологии bh-client, bh-client-module и bh-server-include объединены в одну технологию bh-bundle.

Она собирает шаблоны в один файл, предназначенный для работы как в браузере, так и в Node.js.

Для работы только в Node.js осталась технология bh-server, которая была переименована в bh-commonjs.

Если запутались в том, какую технологию выбрать, читайте об этом в руководстве по миграции.

Подключение сторонних библиотек

Появилась возможность подключать сторонние библиотеки. Это можно сделать с помощью опции requires.

Пример подключения:

Подключаем библиотеку moment с помощью модульной системы CommonJS:

{
    requires: {
        moment: {
            commonJS: 'moment'
        }
    }
}

Применяем подключённую библиотеку в шаблоне блока:

var moment = bh.lib.moment;   // Библиотека `moment`

bh.match('post__date', function (ctx) {
    // Время в миллисекундах, полученное с сервера
    var date = moment(ctx.param.date).format('YYYY-MM-DD HH:mm:ss');

    ctx.content(date);
});

Подробнее обо всех остальных изменениях читайте в истории изменений.

Перед обновлением рекомендуем ознакомиться с руководством по миграции.

Вопросы про сборщик ENB традиционно ждем на нашем форуме с меткой enb.

Приятного использования и Stay BEMed!