Глобальные переменные SASS в приложении VS2022/.NET 8 Blazor с использованием Nuget DartSassBuilder

Мне нужно сделать переменные sass глобальными для всех остальных импортированных файлов sass в моем проекте, а не импортировать их отдельно для каждого файла sass. Для простоты я убрал все назад, поэтому у меня есть приложение .NET 8 Blazor в VS2022 и корневой файл sass, например:

root.scss

@import "variables.scss";
@import "foobar.scss";

переменные.scss

$primary: #767f81;

foobar.scss

//@import "variables.scss";

.something {
    color: $primary;
}

Если я раскомментирую переменные @import внутри foobar.scss, это работает/создается, в противном случае я вижу:

Кто-нибудь знает, как это решить, и действительно ли это возможно, или это просто IDE с Visual Studio?

Спасибо


1
117
1

Ответ:

Решено

Мне удалось добиться того, что мне было нужно, и теперь некоторые переменные можно установить в корневом/глобальном каталоге, используя @forward и @use следующим образом:

root.scss

// use the default value
// @forward "variables"; 
// to override the value
@forward "variables" with ( $primary: #b6ff00 !default);
@import "foobar.scss";

переменные.scss

$primary: #767f81 !default;

foobar.scss

@use "variables";

.something {
     color: variables.$primary;
}

примечание: VS2022 по-прежнему отображает предупреждение, но приложение строится, и DartSassBuilder генерирует ожидаемый CSS.