Добрый, возможно я хочу скрестить ежа с ужом, но.. У меня делается сайт , все по блокам и по полочкам, от БЭМ я хочу - уровни переопределения, блоки, элементы, модификаторы в стилях, в js пока будет слабая поддержка, к react команда не готова, ну и к i-bem тоже. Js будет пока свой. На js очень хотелось поддержки классов и всех других прелестей, поэтому собирал на webpack через babel, но сейчас нужно делать уровни переопределения, webpack из коробки не знает о них ничего, делать руками импорты - мракобесие. Нашел лоадер webpack-bem-loader, переписал импорты на более удобные, собрал, в итоге со стилями все ок, но js крашится с ошибкой: app.js:4 Uncaught TypeError: (webpack_require(...).default || webpack_require(...)).applyDecls is not a function. Если руками в бандле поудалять вызов .applyDecls(), то все работает как нужно. Как я понимаю, это из-за того, что лоадер заточен под react, может есть какие опции, которые мне помогут, или где поправить это? Я форкнул бы.
Плохо прочитал доку, буду ковырять генератор
Да ты можешь передать кастомный генератор в опции:
generators
https://github.com/bem/webpack-bem-loader#optionsА если у меня есть три уровня [base, desktop, mobile] и мне нужно сделать два бандла - [base, desktop] и [base, mobile], это мне надо делать две конфигурации вебпака и запускать отдельно? Ну или через какие нибудь переменные окружения передавать тип бандла и рулить, webpack-bem-loader это из коробки не могет?
@nanervax Получается, интересует i-bem? Расскажи, пожалуйста, про результаты
Не не, я без i-bem делаю, мне уровни нужны в стилях, но собираю я все вебпаком, сейчас у меня так:
А в package.json:
Но при этом у меня параллельно вызываются два вебпака, и консоль часто висит после завершения сборок, да и неудобно это в целом и архитектурно неверно. Извиняюсь, не знаю как тут на форуме сделать spoiler
Никто не поможет? Или мой вопрос слишком глуп?