2012-12-14 8 views
24

Ich möchte SASS modular nutzen. Im folgenden Codesegment können Sie sehen, wie ich einige Layouts einer Seite organisieren kann.Wie teile ich Variablen zwischen verschiedenen importierten Dateien?

Was ich im Sinn habe, ist die 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

Dies sollte einfach funktionieren. Ich benutze dies bei allen meinen Projekten ohne Probleme. Wenn Sie einen Fehler sehen, geht etwas anderes schief. –

+1

das funktioniert immer noch nicht für mich. es scheint, dass Variablen in der Datei enthalten sein müssen, die es verwendet. – chovy

+1

@SimonBoudrias Woher wissen Sie, dass "der Fehler für die eigentliche Frage nicht relevant war"? Wenn das OP es versäumt hat, das Semikolon einzubeziehen, sollte die Frage als typografischer Fehler abgeschlossen sein. Wenn das Semikolon vorhanden ist, sollte die Frage dennoch als "nicht reproduzierbar" geschlossen sein. – cimmanon

Antwort

23

Ja, so funktioniert es.

Solange _colors.scss vor den anderen Dateien importiert wird.

Sie können den Port von Twitter Bootstrap zu Sass hier überprüfen: https://github.com/thomas-mcdonald/bootstrap-sass es verwendet Variablen in ähnlicher Weise.

11

Sie müssen eine ; am Ende der Zeile hinzufügen.

+3

Dies sollte ein Kommentar sein, keine Antwort – Lior

+7

Es ist die Lösung. Ich stieß auf das gleiche Problem. – Chloe

+1

Ok, meinst du, wenn ein Semikolon hinzugefügt wird, werden die Variablen geteilt? Wow, diese Naht ist sehr unintuitiv. Auf welcher Leitung sollte der "sharer" oder der "receiver" hinzugefügt werden? Hast du einen Hinweis darauf? – Lior

Verwandte Themen