css - 如何检查sass中的 undefined variable

标签 css sass gulp-sass node-sass

我正在尝试在本地(特定于站点)和全局(通用)sass 文件中设置颜色变量,以将颜色添加到 AEM 中的网站。我按照以下方法检查未定义。但他们似乎都没有工作。获取 undefined variable $light-gray...我正在使用 gulp sass 4.0.1

@if variable-exists($light-gray) {
		color: $light-gray;
	}else{
		color: lightgray;
	}
  
  /*------------------------------------------*/
  
  if($light-gray, $light-gray, lightgray)

另一种方法是什么

最佳答案

我想通了这个问题。它给出 undefined 因为我正在定义 @if variable-exists($my-variable) 而不是 @if variable-exists(my-variable) .. 因为在 @if 条件下只有字符串被认为是参数., 并使用@,它正在转换包括@在内的整个变量并得到 var undefined。

因此答案是@if variable-exists(my-variable)

我发现的另一个有趣的是,我们定义的变量不应该是任何标准颜色代码值。如果定义了任何标准颜色代码,SASS 会自动抛出错误 'param should be a string'... 'standard color code cannot be considered as srting'...

例如@gray: #ccc ., 在将 gray 作为变量名传递时,SASS 会抛出一个错误,提示“它需要字符串”。

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

关于css - 如何检查sass中的 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49981184/

相关文章:

css - CSS 中没有父选择器有什么合理的理由吗?

angular - 如何制作单独的 Angular Material 步进器标题和内容?

css - 一个捆绑的 css 用于所有子站点好吗?

css - 为什么我的 SCSS @import 不工作?

css - 当对导入的文件进行更改时,Gulp-sass 中断

javascript - SASS 编译后浏览器同步未重新加载

javascript - 每次我调用它时,Close 方法调用都会递增

javascript - 使用 jQuery 显示/隐藏菜单

javascript - CasperJS 中的 CSS 和 XPath 选择器

html - 如何让这个纯 CSS 图像比较 slider 从中间开始?