2012-12-14 8 views
24

Voglio usare SASS in modo modulare. Nel segmento di codice qui sotto puoi vedere un modo in cui considero l'organizzazione di alcuni layout di una pagina.Come si condividono le variabili tra diversi file importati?

Quello che ho in mente è lo external variables in languages like C.

// file: some_page.scss 
// 
// I want some variables from the fonts, colors partials 
// to be visible to the buttons partial 
// Is it possible? 
// error: _buttons.scss (Line X: Undefined variable: "$color_blue") 

@import "colors" 
@import "fonts" 
@import "buttons" 

// in file: _colors.scss 
$color_blue: blue; 

// in file: _buttons.scss 

.button { 
    background-color: $color_blue; 
} 
+2

Questo dovrebbe funzionare. Lo uso su tutti i miei progetti senza problemi. Se vedi un errore, qualcos'altro sta andando storto. –

+1

questo non funziona ancora per me. sembra che le avarie debbano essere all'interno del file che lo usa. – chovy

+1

@SimonBoudrias Come fai a sapere che "l'errore era irrilevante rispetto alla domanda"? Se l'OP ha trascurato di includere il punto e virgola, la domanda avrebbe dovuto essere chiusa come errore tipografico. Se il punto e virgola è presente, la domanda dovrebbe essere chiusa come "non riproducibile". – cimmanon

risposta

23

Sì, è così che funziona.

Finché _colors.scss viene importato prima degli altri file.

È possibile controllare la porta di Twitter da Bootstrap a Sass qui: https://github.com/thomas-mcdonald/bootstrap-sass utilizza le variabili in modo simile.

11

È necessario aggiungere uno ; alla fine della riga @import.

+3

Questo dovrebbe essere un commento non una risposta – Lior

+7

È la soluzione. Ho incontrato lo stesso problema. – Chloe

+1

Ok, vuoi dire, quando viene aggiunto un punto e virgola, le variabili vengono condivise? Wow, quella cucitura altamente non intuitiva. Su quale linea dovrebbe essere aggiunto il "condivisore" o il "destinatario"? hai un riferimento ad esso? – Lior

Problemi correlati