Я использую 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).
Сам сайт LESS говорит, что переменные являются "константами":
Обратите внимание, что переменные в LESS на самом деле являются "константами" в том, что они могут быть определены только один раз.
Но затем я вижу другие сайты, использующие этот подход. Это, безусловно, проще, чем поддерживать ветку поставщика и, кажется, отлично работает с less.js.
Понадобились бы любые мысли о том, нужно ли это делать плохо или нет!