bem/bem-tools
-
С помощью команды `bem build` можно собирать файлы страниц для различных технологий, основываясь на декларации страницы.
С помощью команды `bem build` можно собирать файлы страниц для различных технологий,
основываясь на декларации страницы. -
##### Создание файла bemdecl.js по bemjson-декларации страницы
##### Создание файла bemdecl.js по bemjson-декларации страницы
-
bem build \ -l bem-bl/blocks-common -l bem-bl/blocks-desktop \ -l blocks -l pages/index/blocks \ -d pages/index/index.bemjson.js -t bemdecl.js \ -o pages/index -n index
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.bemjson.js -t bemdecl.js \
-o pages/index -n index -
Значением флага -t может быть как название технологии, так и полный путь до модуля технологии. В этом модуле указано, как именно по декларации собирается конечный файл.
Значением флага -t может быть как название технологии, так и полный путь до модуля
технологии. В этом модуле указано, как именно по декларации собирается конечный файл. -
Например, модуль для `deps.js`: https://github.com/bem/bem-tools/blob/master/lib/techs/deps.js.js
Например, модуль для `deps.js`: https://github.com/bem/bem-tools/blob/master/lib/techs/deps.js.js
-
##### Создание файла deps.js по bemdecl.js
##### Создание файла deps.js по bemdecl.js
-
bem build \ -l bem-bl/blocks-common -l bem-bl/blocks-desktop \ -l blocks -l pages/index/blocks \ -d pages/index/index.bemdecl.js -t deps.js \ -o pages/index -n index
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.bemdecl.js -t deps.js \
-o pages/index -n index -
###### Создание js и css файлов страниц по deps.js
###### Создание js и css файлов страниц по deps.js
-
bem build \ -l bem-bl/blocks-common -l bem-bl/blocks-desktop \ -l blocks -l pages/index/blocks \ -d pages/index/index.deps.js -t css \ -o pages/index -n index
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.deps.js -t css \
-o pages/index -n index -
bem build \ -l bem-bl/blocks-common -l bem-bl/blocks-desktop \ -l blocks -l pages/index/blocks \ -d pages/index/index.deps.js -t js \ -o pages/index -n index
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.deps.js -t js \
-o pages/index -n index -
###### Создание сборки с шаблонами bemhtml.js по файлу deps.js
###### Создание сборки с шаблонами bemhtml.js по файлу deps.js
-
bem build \ -l bem-bl/blocks-common -l bem-bl/blocks-desktop \ -l blocks -l pages/index/blocks \ -d pages/index/index.bemhtml.js \ -t bem-bl/blocks-desktop/i-bem/bem/techs/bemhtml.js \ -o pages/index -n index
bem build \
-l bem-bl/blocks-common -l bem-bl/blocks-desktop \
-l blocks -l pages/index/blocks \
-d pages/index/index.bemhtml.js \
-t bem-bl/blocks-desktop/i-bem/bem/techs/bemhtml.js \
-o pages/index -n index -
Пример построения страниц при помощи `bem build` есть в демонстрационном проекте на блоках `bem-bl`: https://github.com/toivonen/bem-bl-test/blob/master/GNUmakefile
Пример построения страниц при помощи `bem build` есть в демонстрационном
проекте на блоках `bem-bl`: https://github.com/toivonen/bem-bl-test/blob/master/GNUmakefile -
#### bem decl
#### bem decl
-
`bem decl` позволяет работать с файлами деклараций, а именно:
`bem decl` позволяет работать с файлами деклараций, а именно:
-
* объединять несколько деклараций в одну * «вычитать» декларации, то есть получать разницу между ними
* объединять несколько деклараций в одну
* «вычитать» декларации, то есть получать разницу между ними -
Для всех подкоманд `bem decl` в качестве входных деклараций (ключ `-d`) могут выступать файлы как в формате `bemdecl.json`, так и файлы в формате `deps.js`.
Для всех подкоманд `bem decl` в качестве входных деклараций (ключ `-d`) могут выступать
файлы как в формате `bemdecl.json`, так и файлы в формате `deps.js`. -
На выходе (ключ `-o`) всегда получается файл в формате `deps.js`.
На выходе (ключ `-o`) всегда получается файл в формате `deps.js`.
-
##### bem decl merge
##### bem decl merge
-
`bem decl merge` объединяет несколько деклараций в одну. Она бывает полезна в ситуациях, когда, например, вам нужно собрать общую сборку для нескольких страниц.
`bem decl merge` объединяет несколько деклараций в одну. Она бывает полезна в ситуациях,
когда, например, вам нужно собрать общую сборку для нескольких страниц.