2013-05-19 78 views
2

爲了使用SASS變量間的文件範圍

@include box-shadow(0 0 10px black); 

你就必須包括「庫」:

@import "compass/css3"; 

文件中後,我包括其他SCSS:

@import "sidebar/main"; 

並在該側欄/ _main.scss中,當我呼叫相同時:

@include box-shadow(0 0 10px black); 

指南針打破了一個錯誤:

< ... Undefined mixin 'box-shadow'.> 

這是否意味着我得抽象在我自己的庫文件庫,然後包括每個文件和所有其他SCSS ???

回答

1

將側欄/ main.scss重命名爲側欄/ _main .scss - 不需要其他代碼更改。

這指示SASS編譯器不編譯側邊欄/ main.scss文件到一個單獨的CSS文件,但它包含在主SCSS文件。

的過程是這樣的:

青菜編譯所有夾雜物的主要SCSS文件(這裏沒有錯誤,因爲指南針包含在頂部)生成CSS SASS編譯所有其他SCSS文件不以_開頭,但由於這些沒有指南針,所以會引發錯誤。

+0

我知道'_'功能。我已經有了名爲_main.scss的文件。問題在於它沒有意識到在前一個文件中定義的變量 - 包含側欄/ _main.scss的變量。 – Birowsky

+0

然後您可以安全地在第二個文件中包含指南針要求。這不會使代碼膨脹,因爲它只包含@mixins(至少css3),它們不會被編譯。 –

+0

這就是我所做的。但我不喜歡那種方法。我不喜歡在每個其他scss中包含該文件,因爲我傾向於將視圖組織到子目錄中。 – Birowsky