2013-03-13 15 views
9

Sto tentando di sovrascrivere alcune variabili LESS bootstrap prima della compilazione, ad es.Sovrascrittura Bootstrap MENO variabili dopo @import

// Core variables 
@import "variables.less"; 

// Trying to override @white from variables.less 
@white: #de1de1; 

// other bootstrap @imports.... 

Il codice di cui sopra non ignorare @white, ma se aggiungo @white alla fine del file variables.less, funziona benissimo.

Sembrerebbe che le variabili possano essere solo sovrascritte nello stesso file. Ma questo non ha senso per me, come ho supposto che LESS non avesse funzionato in quel modo. Ad esempio altri file @import (omessi dal codice sopra) utilizzano la variabile @white. Se sono in grado di usarlo al di fuori del file variables.less, perché non posso sovrascriverlo al di fuori del file?

Sto usando Less Php 0.3.9 per compilare il mio codice.

NOTA: Ho appena provato il seguente codice:

// Core variables 
@import "variables.less"; 
@import "variables-custom.less"; 

Ora il valore di @white è preso da variabili-custom.less (che risolve un po 'il mio problema). Non spiega ancora perché il mio codice originale non funziona però. Apprezzerei le risposte su questo.

+2

C'è una buona risposta per questo all'indirizzo http://stackoverflow.com/questions/15426256/override-less-variables – ScottS

risposta

3

Le variabili verranno sovrascritte (e disponibili) nell'ordine in cui le importazioni sono state impostate per la compilazione.

Ad esempio:

@import "variables.less"; //@white is set 
@import "styles.less";  //UPDATED @white NOT available 
@import "variables-custom.less"; //Update @white 
@import "styles2.less";  //UPDATED @white available 

Quindi, basta fare in modo che, se non si ha intenzione di utilizzare la variables.less ma piuttosto un variabili-custom.less, si mette davanti a tutti gli altri .less file (tranne le variabili.less, naturalmente).

Problemi correlati