欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue sass 語法報錯

錢琪琛1年前9瀏覽0評論

最近在學(xué)習(xí)Vue的過程中,遇到了一些sass語法報錯的問題,這讓我深刻地認識到了sass語法的重要性。

必看的報錯信息:
syntax error: Invalid CSS after "{": expected selector or at-rule, was "color: $white"

第一個問題就是變量位置所導(dǎo)致的錯誤。

$white: #FFFFFF;
.my-class{
color: $white;
background-color: lighten($white, 10%);
}

上述代碼中,變量$white聲明在了my-class所在的scss外部,導(dǎo)致報錯。我們可以把$white變量聲明在my-class內(nèi)部,問題就解決了。

.my-class{
$white: #FFFFFF;
color: $white;
background-color: lighten($white, 10%);
}

第二個問題是關(guān)于顏色命名空間。

// _variables.scss
$colors: (
primary: blue,
secondary: grey,
accent: pink,
);
// _page.scss
.my-class{
color: $primary;
}

上述代碼中,我們在_variables.scss中聲明了$colors變量,但在_page.scss中卻直接使用了$primary。這樣雖然不會報錯,但如果我們在_variables.scss中再次聲明了$primary,就會出現(xiàn)問題。

正確的寫法應(yīng)該是使用顏色的命名空間:

.my-class{
color: map-get($colors, primary);
}

最后,我們需要注意的是,在scss中使用vue組件的時候,需要使用scope屬性,防止樣式污染。

上述代碼中,我們在組件內(nèi)使用了my-class作為p標簽的class名,并在樣式中寫了顏色。但由于我們在style標簽里加上了scoped屬性,因此這個樣式只會應(yīng)用于該組件內(nèi)的元素,防止了全局樣式的污染。

總的來說,sass語法的能力是Vue開發(fā)過程中不可或缺的一部分,我們需要時刻關(guān)注變量的位置,特別是在嵌套的代碼中,注意顏色的命名空間,避免全局污染,同時使用scoped屬性防止樣式污染,避免出現(xiàn)常見的語法報錯問題。