Sass 你能测试一下mixin是否存在吗?

Sass 你能测试一下mixin是否存在吗?,sass,mixins,Sass,Mixins,Sass快速提问(希望如此)。你能测试一下混合蛋白的存在吗?e、 g @if thumbnail-mixin {} @else { //define mixin }. 理想情况下,我会使用,除非,但这只存在于叉子上。我知道你可以覆盖一个mixin,但是如果你可以有一个默认的mixin,而不是在每种情况下都指定N个变量,我会考虑更多。Sass目前没有本机功能来确定mixin是否存在 您可以创建一个用Ruby编写的Sass函数: def mixin_exists(mixin_name)

Sass快速提问(希望如此)。你能测试一下混合蛋白的存在吗?e、 g

@if thumbnail-mixin {} @else { //define mixin }.

理想情况下,我会使用
,除非
,但这只存在于叉子上。我知道你可以覆盖一个mixin,但是如果你可以有一个默认的mixin,而不是在每种情况下都指定N个变量,我会考虑更多。

Sass目前没有本机功能来确定mixin是否存在

您可以创建一个用Ruby编写的Sass函数:

def mixin_exists(mixin_name)
    if(environment.mixin(mixin_name.value))
      Sass::Script::Bool.new(true)
    else
      Sass::Script::Bool.new(false)
    end
end

或者您可以使用包含此功能的。

最新版本的Sass有一个
mixin exists
功能:

.foo {
  @if mixin-exists(mymixin) {
    exists: true;
  }
  @else {
    exists: false;
  }
}
Sass v3.3还添加了其他存在性测试:

variable-exists($name)
global-variable-exists($name)
function-exists($name)