如何在sass中检查未定义的变量

时间:2018-04-23 12:32:45

标签: css sass gulp-sass node-sass

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)




另一种方法是什么

1 个答案:

答案 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会抛出一条错误,说'它正在期待字符串'。

认为这个额外的输入可能对少数人有所帮助。