EN RU
Форум

Методология

Технологии

Инструментарий

Библиотеки

Учебные материалы

Библиотека BEM Core

bem-core — это библиотека с открытым кодом, которая предоставляет набор блоков для разработки веб-интерфейсов. Содержит необходимый минимум для разработки клиентского JS и HTML-шаблонов.

Build Status GitHub Release devDependency Status

Примечание. Информация о библиотеке в более информативном виде доступна на bem.info. This README is also available in English.

Содержание

Дополнительная информация

Уровни переопределения

Блоки

Использование

Наиболее простым способом начать проект с использованием bem-core является project-stub.

Поддерживаемые браузеры

Мы поддерживаем браузеры на основе статистики, получаемой на сервисах Яндекса.

Браузеры с долей:

Desktop

Полная совместимость

Частичная совместимость

Touch

Полная совместимость

Частичная совместимость

Технологии

API

Автосгенерированную документацию на JavaScript API блоков (JSDoc) можно посмотреть на bem.info. Например, для блока i-bem она доступна по ссылке https://ru.bem.info/libs/bem-core/current/desktop/i-bem/jsdoc/.

Разработка

Рабочая копия

Модульное тестирование

Сборка дефолтного тестового бандла для functions__debounce:

$ magic make desktop.specs/functions__debounce

После сборки тестового бандла вы увидите результаты выполнения тестов в консоли. Их также можно посмотреть в браузере, открыв desktop.specs/functions__debounce/spec-js+browser-js+bemhtml/spec-js+browser-js+bemhtml.html.

По аналогии можно запустить тесты для других БЭМ-сущностей, имеющих реализацию в технологии spec.js.

Покрытие кода тестами

Чтобы собрать статистику покрытия кода тестами, необходимо добавить переменную окружения ISTANBUL_COVERAGE=yes в сборке тестового бандла:

$ ISTANBUL_COVERAGE=yes magic make desktop.specs && istanbul report html

Сбор статистики покрытия тестами так же работает для запуска тестов конкретной БЭМ-сущности.

Пример для functions__debounce:

$ ISTANBUL_COVERAGE=yes magic make desktop.specs/functions__debounce && istanbul report html

После завершения выполнения тестов, можно посмотреть отчет о покрытии кода тестами, открыв в браузере страницу coverage/index.html.

Полный отчет и статистику покрытия кода библиотеки тестами можно посмотреть на странице профиля bem-core в проекте Coveralls.

Для сборки и запуска тестов используется библиотека enb-bem-specs. См. подробную информацию про инфраструктуру тестирования.

Команда основной разработки

Рабочий процесс

Список текущих задач отображается на специальном Agile Board.

Статусы задач:

Лицензия

© 2012 YANDEX LLC. Код лицензирован Mozilla Public License 2.0.