问题描述
我不明白这个编译错误描述的是什么,因为我确实定义了 SASS 变量:
Dart Sass 失败并出现以下错误:未定义变量。 ╷ 64│颜色:$sc-blue-light; │ ^^^^^^^^^^^^^^^ ╵ _partials/navigation/_search.scss 64:12 @use style.scss 65:1 根样式表
_utilities.scss
$sc-blue-light: #5BC2E7;
_search.scss
.search {
color: $sc-blue-light;
}
_style.scss(主样式表)
@use '_partials/base/_utilities';
@use '_partials/navigation/_search';
首先加载实用程序,这是我在其他答案中阅读的内容,但不适用于此处。文件路径正确。
我所有的其他样式都可以编译。就在我开始使用变量时,出现此错误。
有什么想法吗?
解决方法
TL;DR
也在 @use
中的文件顶部添加 _search.scss
规则。
带命名空间
@use '_partials/base/_utilities';
.search {
color: utilities.$sc-blue-light;
}
或没有命名空间
@use '_partials/base/_utilities' as *;
.search {
color: $sc-blue-light;
}
引自官方 sass
使用@use 加载的成员(变量、函数和mixin)只是 在加载它们的样式表中可见。其他样式表将需要 如果他们也想访问它们,请编写自己的@use 规则。
和
最简单的@use规则写成@use "",加载模块 在给定的 URL。以这种方式加载的任何样式都将被准确包含 一次在编译的 CSS 输出中,无论这些样式有多少次 已加载。