Project-stub – это шаблонный репозиторий для создания БЭМ-проектов. Он содержит необходимый минимум конфигурационных файлов и директорий, который позволяет быстро развернуть проект с нуля.
В project-stub по умолчанию подключены основные БЭМ-библиотеки:
- Node.js 4+ – это программная платформа, основанная на языке JavaScript и позволяющая легко создавать быстрые и масштабируемые сетевые приложения.
- Git Bash – для пользователей операционной системы Windows.
Важно Пользователям Windows необходимо выполнять все команды в Git Bash. Убедитесь, что Git Bash запущен от имени администратора.
Список поддерживаемых браузеров зависит от версий библиотек bem-core и bem-components.
Важно: Internet Explorer 8.0 не входит в перечень браузеров, поддерживаемых библиотеками по умолчанию. При необходимости можно подключить поддержку IE8 в project-stub.
Клонируем репозиторий и устанавливаем все необходимые зависимости:
git clone https://github.com/bem/project-stub.git --depth 1 my-bem-project
cd my-bem-project
npm install
Важно: Не используйте права суперпользователя (root
) при установке npm-зависимостей.
Собрать проект можно с помощью ENB или gulp
.
Вызов всех команд ENB
возможен с помощью ./node_modules/.bin/enb
.
./node_modules/.bin/enb make
или
./node_modules/.bin/gulp
Чтобы не указывать путь к исполняемому файлу (./node_modules/.bin/enb
) используйте:
export PATH=./node_modules/.bin:$PATH
Теперь исполняемые файлы локальных npm-модулей доступны из корня проекта:
enb make
или
gulp
Все команды необходимо выполнять в терминале локально.
./node_modules/.bin/enb server
Команда npm start
также запускает enb server
, при этом нет необходимости указывать полный путь до node_modules
.
npm start
На вашем компьютере запустился сервер для разработки. Чтобы проверить это, откройте в браузере http://localhost:8080/desktop.bundles/index/index.html.
Вы можете указать другой порт, если 8080
уже занят:
npm start -- --port=8181
Комбинация клавиш Ctrl
+ C
в активном окне терминала остановит сервер.
Можно создавать блоки с помощью команды bem create
(либо ./node_modules/.bin/bem create
, если вы не дополнили переменную окружения PATH
):
bem create new-block
По умолчанию будут использованы настройки из .bemrc
. Подробнее об использовании bem create
см. в документации.
С помощью bem create
:
bem create desktop.bundles/page.bemjson.js
# эквивалентно
bem create -b page -l desktop.bundles -T bemjson.js
либо вручную:
touch desktop.bundles/page/page.bemjson.js
Со следующим содержанием:
module.exports = {
block: 'page',
title: 'page',
head: [
{ elem: 'css', url: 'page.min.css' }
],
scripts: [{ elem: 'js', url: 'page.min.js' }],
content: [
{
block: 'new-block',
content: [
'new block content'
]
}
]
};
- Собираем статическую страницу на БЭМ
- Создаём свой проект на БЭМ
- Справочное руководство по BEMJSON
- Руководство пользователя по BEMHTML
- Пошаговое руководство по i-bem.js
- Мастер-класс: вы пишете БЭМ-проект, а мы подсказываем
- SSSR (Social Services Search Robot) — учебное приложение на полном стеке БЭМ