bem-core
v5.0.0
Published
bem-core Library
Readme
Библиотека BEM Core
bem-core — это библиотека с открытым кодом, которая предоставляет набор блоков для разработки веб-интерфейсов. Содержит необходимый минимум для разработки клиентского JS и HTML-шаблонов.
Примечание. Информация о библиотеке в более информативном виде доступна на bem.info. This README is also available in English.
Содержание
Дополнительная информация
Уровни переопределения
common.blocks— поддержка всех устройств и браузеров;desktop.blocks— поддержка всех десктопных браузеров;touch.blocks— реализация специфических особенностей для touch-платформ.
Блоки
- i-bem — базовый блок с хелперами для JS и HTML;
- i-bem-dom — базовый блок с хелперами для HTML;
- strings — хелперы для JS-строк;
- objects — хелперы для JS-объектов;
- functions — хелперы для JS-функций;
- events — JS-события;
- uri — работа с URI и строкой запроса;
- tick — глобальный таймер;
- idle — IDLE-событие;
- next-tick — полифил для
nextTick/setTimeout(0, ...); - inherit — ООП-хелперы;
- jquery — jQuery;
- clearfix — CSS-трюк clearfix;
- identify — идентификация JS-объектов;
- cookie — хелперы для работы с браузерными куками;
- dom — хелперы для работы с DOM;
- loader — загрузчик для JS-файлов;
- ua — определение возможностей браузера;
- uri — декодирование строки из формата URI;
- keyboard — хелперы для работы с клавиатурой;
- page — скелет для html/head/body.
Использование
Установите как npm-зависимость:
npm install bem-core@5jQuery 4 — peer-зависимость, установите рядом:
npm install jquery@^4.0.0Поддерживаемые браузеры
- Google Chrome (последняя версия)
- Firefox (последняя версия)
- Safari (последняя версия)
- Edge (последняя версия)
Технологии
- vanilla.js + browser.js;
- DEPS;
- bemhtml;
- bemtree.
API
Автосгенерированную документацию на JavaScript API блоков (JSDoc) можно посмотреть на bem.info. Например, для блока i-bem она доступна по ссылке https://ru.bem.info/platform/libs/bem-core/current/desktop/i-bem/#jsdoc
Разработка
Рабочая копия
Получаем исходники:
git clone -b v5 git://github.com/bem/bem-core.git cd bem-coreУстанавливаем зависимости (требуется Node.js 20+):
npm installЗапускаем линтер:
npm run lintЗапускаем тесты:
npm test # серверные тесты (node:test) npm run test:browser # браузерные тесты (Playwright) npm run test:all # все тестыСобираем:
npm run build # desktop + touch платформы
Команда основной разработки
Лицензия
© 2012 YANDEX LLC. Код лицензирован Mozilla Public License 2.0.
