Dart Sass 失败并出现以下错误:未定义变量 SASS

问题描述

我不明白这个编译错误描述的是什么,因为我确实定义了 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 输出中,无论这些样式有多少次 已加载。

了解sass @use members
阅读sass @use namespace