2012-05-31 47 views
2

這裏是我的結構的一個基本觀點:SCSS變量變成 「未定義的變量」

+- application.scss 
+- _variables.scss 
+- normalize.scss 

application.scss包含

@import "variables"; 
@import "normalize"; 

_variables.scss包含

$test-variable: Verdana; 

如果使用,其中一期工程在application.scss之內,但它不會結轉到normalize.scss。從我的理解應該是可能的。要麼?任何人都知道如何做到這一點?

+0

這很奇怪。我有一個類似的結構和先前聲明的變量在其他文件中可用。我認爲你需要找到一個錯誤的地方。 –

+0

我通過簡單地將我的normalize.scss文件重命名爲_normalize.scss,從而使其成爲'部分'。儘管如此,它仍然看起來並不完全正確。 – Eystein

回答

1

您必須將您的_variables.scss導入您的標準化樣式表才能訪問這些變量。

+0

就像普通的CSS導入一樣?沒有其他辦法了?原因在於,當我繼續構建時,會有很多變量,並且在每個文件重複相同的導入時進行測試和原型設計,而不是讓我只評論一行。 – Eystein

+0

基本上,因爲您正在將normalize.scss編譯爲單獨的樣式表,所以除非您在該文檔的頂部使用@import「variables」,否則不會看到這些變量。如果你編譯標準化.scss到你的application.scss,你可能不需要那樣做。又名文件be _normalize.scss而不是normalize.scss。 – ToraRTC

1

您必須將變量部分導入到變量正在使用的任何文件中。

1

您不必將變量部分導入變量正在使用的任何罰款。 (至少,不再)。

只要在使用_variables的其他@imports之前始終使用_variables部分。