Поддержка технологий, базирующихся на основе BEM-XJST, для ENB. Базовые шаблоны для BEMHTML и BEMTREE находятся в библиотеке bem-core.
Важно: для технологий, базовые шаблоны которых находятся в библиотеке bem-bl, следует использовать enb-xjst пакет.
$ npm install --save-dev enb-bemxjst
Для работы модуля требуется зависимость от пакета enb
версии 0.13.0
или выше.
Склеивает bemhtml
-файлы по deps'ам, обрабатывает BEM-XJST-транслятором, сохраняет (по умолчанию) в виде ?.bemhtml.js
.
Опции
- String target — результирующий таргет. По умолчанию —
?.bemhtml.js
. - String filesTarget — files-таргет, на основе которого создаётся список исходных файлов (его предоставляет технология
files
). По умолчанию —?.files
. - String sourceSuffixes — суффиксы файлов, по которым строится
files
-таргет. По умолчанию —['bemhtml']
. - String exportName — имя переменной-обработчика BEMHTML. По умолчанию —
'BEMHTML'
. - Boolean compat — Поддержка первоначального синтаксиса. По умолчанию — false.
- Boolean devMode — development-режим. По умолчанию —
true
. - Boolean cache — кэширование. Возможно только в production-режиме. По умолчанию —
false
. - Object requires — Объект с объявлением зависимостей для различных модульных систем. По умолчанию — пустой объект.
Пример
nodeConfig.addTech([ require('enb-bemxjst/techs/bemhtml'), { devMode: false } ]);
Склеивает BEMTREE-файлы по deps'ам, обрабатывает BEM-XJST-транслятором, сохраняет (по умолчанию) в виде ?.bemtree.js
.
Опции
- String target — результирующий таргет. По умолчанию —
?.bemtree.js
. - String filesTarget — files-таргет, на основе которого создаётся список исходных файлов (его предоставляет технология
files
). По умолчанию —?.files
. - String sourceSuffixes — суффиксы файлов, по которым строится
files
-таргет. По умолчанию —['bemtree']
. - String exportName — имя переменной-обработчика BEMTREE. По умолчанию —
'BEMTREE'
. - Boolean compat — Поддержка первоначального синтаксиса. По умолчанию — false.
- Boolean devMode — development-режим. По умолчанию —
true
.
Пример
nodeConfig.addTech([ require('enb-bemxjst/techs/bemtree'), { devMode: false } ]);
Собирает HTML-файл с помощью BEMJSON и BEMHTML.
Опции
- String bemhtmlFile — исходный BEMHTML-файл. По умолчанию —
?.bemhtml.js
. - String bemjsonFile — исходный BEMJSON-файл. По умолчанию —
?.bemjson.js
. - String target — результирующий HTML-файл. По умолчанию —
?.html
.
Пример
nodeConfig.addTech(require('enb-bemxjst/techs/bemjson-to-html'));
Чтобы включить поддержку первоначального синтаксиса, нужно использовать compat
опцию. Например, это может быть полезно при миграции c bem-bl на bem-core, чтобы не переписывать код всего проекта целиком, а поэтапно переходить на JS-синтаксис для каждого отдельного шаблона.
Транслирование из первоначального в JS-синтаксис осуществляется с помощью bemhtml-compat.
Из-за транслирования сборка происходит медленнее даже для файлов в JS-синтаксисе.
© 2013 YANDEX LLC. Код лицензирован Mozilla Public License 2.0.