Подтвердить что ты не робот

Неправильная ли практика переопределять LESS-переменные?

Я использую Twitter Bootstrap в проекте в настоящий момент, включая файлы LESS и компиляцию с помощью некоторого дополнительного кода LESS, который мы написали.

Последняя версия означала, что нам нужно переопределить некоторые переменные Bootstrap LESS. Один из вариантов заключался в том, чтобы сохранить модифицированную копию Bootstrap, которую мы исправляем в каждом выпуске.

Но я отмечаю, что можно переопределить переменную, определенную в файле @import LESS, путем повторного объявления переменной после оператора импорта.

например:.

@import "twitter-bootstrap/bootstrap.less";
// Restore base font size to pre 2.1.1 defaults
@baseFontSize:          13px;
// Add some custom LESS code here

Это плохая практика? Является ли это артефактом работы компилятора LESS или его предполагаемой частью? Я не мог найти много информации об этом, хотя я нашел следующие две ссылки:

Из-за ошибки в компиляторе Less вы можете переопределить "постоянное" значение переменной, изменив ее после ее первоначального объявления.

http://rubysource.com/how-to-customize-twitter-bootstrap%E2%80%99s-design-in-a-rails-app

и

Настройте столбцы и желобы, переопределив эти три переменные (после объявления импорта grid.less).

http://semantic.gs/

Сам сайт LESS говорит, что переменные являются "константами":

http://lesscss.org/

Обратите внимание, что переменные в LESS на самом деле являются "константами" в том, что они могут быть определены только один раз.

Но затем я вижу другие сайты, использующие этот подход. Это, безусловно, проще, чем поддерживать ветку поставщика и, кажется, отлично работает с less.js.

Понадобились бы любые мысли о том, нужно ли это делать плохо или нет!

4b9b3361

Ответ 1

Ok! Один из вышеперечисленных вопросов привел к обсуждению предполагаемого поведения, и оказывается, что переопределение LESS-переменных является прекрасным.

Ваши объявления будут перезаписывать друг друга в той же области в CSS; То же самое верно для LESS.

https://github.com/cloudhead/less.js/issues/297

Как и в CSS, переопределение внутри области видимости - это предполагаемый способ использования LESS.

Ответ 2

Это нормально!

Я обычно создаю меньше файлов с "компонентами" и переменными со значением по умолчанию. Затем я импортирую после этого файл с одинаковыми переменными, но значения "клиенты", заменяя значения по умолчанию. Таким образом, мне нужно изменить некоторые значения, чтобы создать новый дизайн для каждого клиента.

Это нормально и очень полезно.