2012-12-14 9 views
24

私はSASSをモジュール方式で使いたいと思っています。下のコードセグメントでは、ページのレイアウトのいくつかを整理する方法を確認できます。異なるインポートファイル間で変数を共有するにはどうすればよいですか?

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

これはうまくいくはずです。私はこれをすべてのプロジェクトで問題なく使用します。エラーが表示されている場合は、何かが間違っています。 –

+1

これはまだ私のために働いていません。それはそれを使用するファイル内にある必要があります。 – chovy

+1

@SimonBoudrias「エラーは実際の質問とは無関係」であることをどのように知っていますか? OPがセミコロンを含めることを忘れた場合、その質問は誤植として閉じられていたはずです。セミコロンが存在する場合、質問は「再現不可能」として閉じられるはずです。 – cimmanon

答えて

23

はい、そうです。

_colors.scssが他のファイルの前にインポートされている限り。

Twitter BootstrapのポートをSassにチェックアウトすると、https://github.com/thomas-mcdonald/bootstrap-sassも同様の方法で変数を使用します。

11

@import行の末尾に;を追加する必要があります。

+3

これはコメントではありません – Lior

+7

解決策です。私は同じ問題に遭遇した。 – Chloe

+1

これは、セミコロンを追加すると変数が共有されることを意味しますか?うわー、そのシームは非常に直感的ではありません。 「共有者」または「受信者」をどの行に追加する必要がありますか?あなたはそれを参照していますか? – Lior

関連する問題