Eсли БЭМ блоки самостоятелен и независим, то использование в нем переменных цвета или размера шрифта нарушает его концепцию, ведь значения буду хранится отдельно в variables.scss? Вывод - отказаться от глобальных переменных?
Eсли БЭМ блоки самостоятелен и независим, то использование в нем переменных цвета или размера шрифта нарушает его концепцию, ведь значения буду хранится отдельно в variables.scss? Вывод - отказаться от глобальных переменных?
Пример переменных через блок:
определяем https://github.com/bem-contrib/bem-typography/blob/master/common.blocks/variables/variables.styl
используем https://github.com/bem-contrib/bem-typography/blob/master/common.blocks/calc/__rem/calc__rem.styl
особенность в
mustDeps
https://github.com/bem-contrib/bem-typography/blob/master/common.blocks/calc/__rem/calc__rem.deps.jsЯ отказался от глобальных переменных. В большой библиотеке/проекте это превращается в небольшой ад. Используем переменные только в области видимости файла. Полет отличный.
Про использование переменных можно посмотреть еще сюда — https://github.com/bemdesign/bemdesign-components
@voischev Несмотря на то, что @koloskof проделал большую работу по выделению переменных из bem/bem-components в bemdesign/bemdesign-components смотреть туда еще рановато, там пока переменные подключатся через
@import
это не очень гибкое решение.Но все-таки, хранить цвета в блоках — это не совсем правильно. Это больше похоже на конфигурацию проекта (не библиотеки)