Sass darken()中作为$color参数的函数值

Sass darken()中作为$color参数的函数值,sass,Sass,我试图使用贴图中指定的颜色值作为darken()的$color参数,如下所示: 边框:1px纯色变暗(颜色(低亮度),10) 这依赖于我编写的几个简单函数和映射(删除了无关值): 我得到了这个错误: 变暗($color,$amount)的参数$color必须是颜色 如果我给它提供一个变量,而不是一个函数值,它就会工作。有解决方案吗?我可以将您的简短示例加载到代码笔中,效果很好。因此,如果没有完整的复制方法,我只能猜测您的scss函数->颜色映射->自定义函数没有按照正确的起始顺序加载,因为@im

我试图使用贴图中指定的颜色值作为darken()的$color参数,如下所示:

边框:1px纯色变暗(颜色(低亮度),10)

这依赖于我编写的几个简单函数和映射(删除了无关值):

我得到了这个错误:

变暗($color,$amount)
的参数
$color
必须是颜色


如果我给它提供一个变量,而不是一个函数值,它就会工作。有解决方案吗?

我可以将您的简短示例加载到代码笔中,效果很好。因此,如果没有完整的复制方法,我只能猜测您的scss函数->颜色映射->自定义函数没有按照正确的起始顺序加载,因为@import在某处,因为像您这样的内联显示所有内容都在相同的上下文中。这是使用Vue和Nuxt。热重新加载时出错,Sass通过@import加载。当使用顺序函数时,问题似乎出现了。我可以引用任何一个函数作为一个值,只要它的值不是函数值。那么在热重新加载的部分中,依赖项(函数、mixin等)是否也@import'd到它们所使用的模块?这是我首先要看的地方。依赖项在SCSS文件的顶部导入,这就是函数和变量的位置。我可以在其他地方使用它们,只是不能在其他函数中使用。
@function gray($color) {
    @return map-get($grays, $color);
}

@function color($color) {
    @return map-get($colors, $color);
}

$grays: (
    x-light: #f8f8f8
);

$colors: (
    lowlight: gray(x-light)
);