iam尝试在本地(特定于站点)中设置color var,并在全局(通用)sass文件中为AEM中的网站添加颜色。我已按照以下方法检查undefined。但它们似乎都没有起作用。得到未定义的变量$ light-grey ... Iam使用gulp sass 4.0.1
@if variable-exists($light-gray) {
color: $light-gray;
}else{
color: lightgray;
}
/*------------------------------------------*/
if($light-gray, $light-gray, lightgray)

另一种方法是什么
答案 0 :(得分:0)
我想到了这个问题。它给出了未定义的coz我定义@if variable-exists($my-variable) not @if variable-exists(my-variable)
..因为在@if条件中只有字符串被认为是param,并且使用@,它正在转换整个变量,包括@和获取var undefined。
因此答案是@if variable-exists(my-variable)
我发现另一个有趣的是,我们定义的变量不应该是任何标准颜色代码值。如果定义了任何标准颜色代码,SASS会自动抛出一个错误'param应该是一个字符串'......'标准颜色代码不能被视为srting'...
e.g。 @gray: #ccc
。,在将gray
作为变量名传递时,SASS会抛出一条错误,说'它正在期待字符串'。
认为这个额外的输入可能对少数人有所帮助。