I: Подскажите пожалуйста, указанный здесь https://ru.bem.info/technology/bemhtml/v2/rationale/#Примеры-3 код шаблона (шаблона ли?), в каком файле он должен содержаться? Вроде как это относится к файлам *.bemhtml, но при сборке выдаётся Unexpected identifier. Да и до этого, в других примерах ( https://ru.bem.info/technology/bemhtml/v2/intro/#template ) синтаксис шаблона другой. Воспроизвести этот пример с указанным кодом так и не удалось. II: Из того, на что наткнулся, пока разбирался с вашей методологией: 1) Если какой-либо из ИМЯБЛОКА.js файлов написан с ошибкой ( с ошибкой синтаксиса, пробовал, например вставить туда приведённый выше код примера), то для всех блоков перестаёт работать инициализация, т.е. блоку не добавляется класс ИМЯБЛОКА_js_inited. Это нормальная логика? При этом, запущенный командой npm start, сервер никакой ошибки не выдаёт. 2) https://ru.bem.info/tutorials/start-with-project-stub/#bemhtml-шаблоны код примера блока BEMHTML шаблона для блока goods прямо очень сильно расходится с тем, что написано в разделе.
@migs911 Доброй ночи! Спасибо за репорт, я закоммитил обновление, скоро оно появится на сайте.
Это действительно шаблон, но написанный в старом «сахарном» синтаксисе. Некоторое время назад мы от него отказались в пользу нативного JS. При желании его можно использовать с помощью опции
compat
пакетаenb-bemxjst
. Подробнее о настройке написано в документации к пакету. А про различия в синтаксисе шаблонов можно узнать из раздела JS-синтаксис BEMHTML. Руководство по миграции.Думаю, это отвечает и на второе замечание из второй части?
Что касается отладки JS, то да, такое поведение ожидаемое и ошибки следует искать в браузерной консоли, т.к. сервер, запускаемый по
npm start
, всего лишь собирает файлы блоков в общий файл страницы.