Привет всем!
Начинаю изучать БЭМ. Есть тестовый проект с одним блоком и одним элементом в нем. Пытаюсь собрать. Безуспешно, категорически не могу получить html.
Хотя сборка вроде бы проходит без ошибок.
Структура проекта до сборки:
├── common.block
│.....└── b-head
│.............├── b-head.bemhtml
│.............├── b-head.css
│.............└── __title
│....................├── b-head__title.bemhtml
│....................└── b-head__title.css
└── pages.bundles
......└── index
..............└── index.bemjson.js
"Проект" принципиально сделан с нуля, без использования bem-components - чтобы понять как создаются блоки, как из bemhtml получается просто html, как собирается весь проект.
Контент файлов:
---------------- b-head.bemhtml -----------
block('b-head')(
tag()('h1'),
content()(
{elem : 'title', content : 'Yo!'}
)
)
-------------- b-head__title.bemhtml --------------
block('b-head').elem('title').tag()('i')
-------------- index.bemjson.js ----------------------
({
block: 'b-head',
content: [
{ elem: 'title', content: 'H' },
]
})
CSS пока не важно, больше ничего не трогал.
(код выложен на https://bitbucket.org/shbma/codepr-6_bem3)
Сборку выполняю по инструкции
https://ru.bem.info/tools/bem/bem-tools/commands/
команда: bem create -l pages.bundles -b index -T bemdecl.js
результат: успешно cоздается файл декларации pages.bundles/index/index.bemdecl.js
команда: bem create -l common.block -b b-head -T bemdecl.js
результат: успешно создался файл декларации common.block/b-head/b-head.bemdecl.js
команда: bem build -l common.block -l pages.bandles -d pages.bundles/index/index.bemdecl.js -t deps.js -o pages.bundles/index -n index
результат: успешно создался файл зависимостей pages.bundles/index/index.deps.js
команда: bem build -l common.block -l pages.bandles -d pages.bundles/index/index.deps.js -t css -o pages.bundles/index -n index
результат: создался файл импорта стилей pages.bundles/index/index.css
команда: bem make
результат:
22:56:32.837 - info: bem 0.9.0
22:56:33.082 - info: Graph:
== root
all
build
pages.bundles*
22:56:33.090 - info: [i] Going to build 'all' [1]
22:56:33.108 - info: [t] isValid() time for "build" [1]: 1ms
22:56:33.108 - info: [*] make 'build' [1]
22:56:33.108 - info: [t] Build time for "build" [1]: 1ms
22:56:33.109 - info: [t] isValid() time for "all" [1]: 0ms
22:56:33.109 - info: [*] make 'all' [1]
22:56:33.110 - info: [t] Build time for "all" [1]: 1ms
22:56:33.111 - info: [t] Build total: 270ms
ничего не произошло - html файлов не появилось
Пробуем по-другому:
команда: bem server
результат:
23:00:52.405 - info: bem 0.9.0
23:00:52.412 - info: Project root is '/home/michael/code-production/les6_bem/bem-tools-test'
23:00:52.658 - info: Graph:
== root
all
build
pages.bundles*
23:00:52.668 - info: Server is listening on port 8080. Point your browser to http://localhost:8080/
На запрос http://localhost:8080/index.html отдает 404 ошибку,
в консоли пишет
warn: *** HTTP error: 404, /home/michael/code-production/les6_bem/bem-tools-test/index.html
И опять-таки никаких html-файлов внутри папок проекта не образуется
Есть какие-то варианты решения проблемы?
P.S.
Извиняюсь, если этот пост покажется очевидной банальностью тому, кто в теме. В БЭМ я чайник, шерстю сайт, есть отличные вебинары по сборке css и js, теория по синтаксису bemhtml (правда не нашел ничего по сборке таких вот нано-проектов), но в моей голове мозаика материалов пока не складывается. Я уперся лбом в стену и не понимаю куда копать, потому и задаю сюда вопросы.