J'utilise Twitter Bootstrap sur un projet en ce moment, y compris les fichiers LESS et la compilation avec du code LESS supplémentaire que nous avons écrit.
Avec la dernière version, nous devons remplacer certaines des variables LESS de Bootstrap. Une option consistait à maintenir une copie modifiée de Bootstrap que nous corrigions à chaque version.
Mais je remarque qu'il est possible de remplacer une variable définie dans un fichier @import
LESS en redéclarant la variable après la déclaration d'importation.
Par exemple :
@import "twitter-bootstrap/bootstrap.less";
// Restore base font size to pre 2.1.1 defaults
@baseFontSize: 13px;
// Add some custom LESS code here
Est-ce une mauvaise pratique ? S'agit-il d'un artefact du fonctionnement du compilateur LESS ou d'un élément intentionnel de ce dernier ? Je n'ai pas trouvé beaucoup d'informations à ce sujet, mais j'ai trouvé les deux références suivantes :
En raison d'un bogue dans le compilateur Less, vous pouvez remplacer la valeur "constante" d'une variable en la modifiant après sa déclaration initiale.
http://rubysource.com/how-to-customize-twitter-bootstrap%E2%80%99s-design-in-a-rails-app
y
Personnalisez les colonnes et les gouttières en surchargeant ces trois variables (après avoir déclaré l'import grid.less).
Le site LESS lui-même indique que les variables sont des "constantes" :
Notez que les variables dans LESS sont en fait des "constantes", c'est-à-dire qu'elles ne peuvent être définies qu'une seule fois.
Mais ensuite, je vois d'autres sites qui utilisent cette approche C'est certainement plus facile que de maintenir une branche de fournisseur et semble fonctionner correctement avec less.js.
J'apprécierais que vous me disiez si c'est une mauvaise chose à faire ou non !