bem/bem-tools
-
bem create level
<your-level-name>
--level path/to/base/level.js -
##### Правила маппинга БЭМ-сущностей в файловую систему
-
По умолчанию на уровне переопределения используется следующая схема маппинга (на примере технологии `css`):
-
```
level/
block/
__elem/
_mod/
block__elem_mod_val.css
block__elem.css
_mod/
block_mod_val.css
block.css
``` -
Если вас не устраивает эта схема, вы можете задать свою. Для этого нужно перекрыть соответствующие `match*()` и `get*()`
методы в файле `.bem/level.js`. -
##### Технологии, определённые для уровня
-
Для уровня переопределения можно задекларировать список используемых технологий. Для этого нужно экспортировать
функцию `getTechs()`, которая должна вернуть объект, в ключах которого лежат имена технологий, а в значениях: -
- абсолютный путь до технологии — будет использоваться модуль, находящийся по этому пути;
- короткое имя технологии — будет использоваться реализация технологии с указанным именем из `bem-tools`;
- пустая строка — будет использоваться реализация технологии по умолчанию. -
По умолчанию на уровне переопределения явно не определена ни одна из технологий. Если попытаться внутри таких уровней
использовать техологии по короткому имени, например `css`, `js` и другие, то будут использованы модули технологии
из состава `bem-tools`, если они существуют. Полный список таких технологий смотрите в [lib/techs](https://github.com/bem/bem-tools/tree/master/lib/techs). -
Если попытаться использовать технологии, которые явно не задекларированы, и которых при этом не существуют
в `bem-tools` — будет использоваться реализация технологии по умолчанию
(см. [lib/tech.js](https://github.com/bem/bem-tools/blob/master/lib/tech.js)). -
Технологии, задекларированные на уровне используются:
-
- командой `bem create`
- командой `bem build`
- для интроспекции по файловой системе (см. метод `getLevelByIntrospection()` класса `Level`)
- в процессе сборки командами `bem make` и `bem build` -
Мы рекомендуем явно декларировать все используемые технологии.
-
##### Мета-информация для системы сборки
-
Во время сборки проекта командами `bem make` и `bem server` для выполнения команды `bem build` нужно знание о том,
из каких уровней переопределения нужно собирать тот или иной бандл. Это знания необходимо отобразить в свойсте
`bundleBuildLevels` объекта, возвращаемого функцией `getConfig()`. -
```js
exports.getConfig = function() { -
bundleBuildLevels: this.resolvePaths([
// your levels here
]) -
### Модули технологий
-
#### API
-
Смотрите документацию в исходном файле [lib/tech.js](https://github.com/bem/bem-tools/blob/master/lib/tech.js).
No more segments to load.
Loading more segments…
© 2009-2024 WebTranslateIt Software S.L. All rights reserved.
Terms of Service
·
Privacy Policy
·
Security Policy