bem/bem-tools
-
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` объединяет несколько деклараций в одну. Она бывает полезна в ситуациях,
когда, например, вам нужно собрать общую сборку для нескольких страниц. -
###### Создание декларации для всех страниц
###### Создание декларации для всех страниц
-
bem decl merge \ -d pages/index/index.deps.js \ -d pages/about/about.deps.js \ -d pages/search/search.deps.js \ -o pages/common/common.deps.js
bem decl merge \
-d pages/index/index.deps.js \
-d pages/about/about.deps.js \
-d pages/search/search.deps.js \
-o pages/common/common.deps.js -
##### bem decl subtract
##### bem decl subtract
-
`bem decl subtract` «вычитает» из первой указанной декларации все остальные. Она полезна в ситуациях, когда, например, вам нужно сделать бандл, которые будет догружатся на страницу по требованию.
`bem decl subtract` «вычитает» из первой указанной декларации все остальные. Она полезна
в ситуациях, когда, например, вам нужно сделать бандл, которые будет догружатся на страницу
по требованию. -
###### Создание декларации для подгружаемого по требованию «тяжёлого» блока
###### Создание декларации для подгружаемого по требованию «тяжёлого» блока
-
bem decl subtract \ -d bundles/heavy-block/heavy-block.deps.js \ -d pages/common/common.deps.js \ -o bundles/heavy-block/heavy-block.bundle.js
bem decl subtract \
-d bundles/heavy-block/heavy-block.deps.js \
-d pages/common/common.deps.js \
-o bundles/heavy-block/heavy-block.bundle.js