在styles.scss
样式表中,我导入以下元素:
@import './variables';
@import './forms/forms';
@import './mixins/breadcrumb';
_variables.scss
的内容:$errorInputText: #a00f0f;
$errorLabelText: #ad7777;
$lightLabelColor: #ffffff;
$pillsShadowColor: #d8d8d8;
$pillsNoBackgroundColor: #ffffff;
_forms.scss
文件的内容。此文件中使用的变量包含在_variables
文件中。 _forms.scss
中没有导入,变量完美无缺。 _forms.scss
文件似乎能够从父_variables
文件中导入的styles.scss
文件中检索变量。
input {
&.ui-inputtext.errored {
color: $errorInputText;
& ~ label {
color: $errorLabelText;
}
}
}
_breadcrumb.scss
内容:@mixin badgeBreadcrumb($shadowColor: $pillsShadowColor, $backgroundColor: $pillsNoBackgroundColor) {
background-color: $backgroundColor;
border: 1px solid #eee;
padding: 3px 8px 3px 8px;
margin-top: 3px;
&:hover {
background-color: darken($backgroundColor, 2%);
}
}
这里sass编译器给出了一个错误:
mixin badgeBreadcrumb($shadowColor: $pillsShadowColor, $backgroundColor: $pillsNoBackgroundColor) {
^
Undefined variable: "$pillsShadowColor".
如果我将_variables
文件明确导入_breadcrumb.scss
,则错误就会消失。
我不知道为什么它与我的_forms
文件中的不同之处在于没有导入的情况。