我正在尝试在LoginPage组件样式化过程中使用CSS变量,但收到以下错误:
SassError: Undefined variable: "$main-background-color".
此错误出现在_styles.scss
文件中。
这是我的项目结构:
我正在将_variables.scss
和styles.scss
都导入到主index.scss
文件中:
导入变量时我做错了什么?
为什么我不能在_styles.scss
文件中使用它们?
答案 0 :(得分:3)
我相信,如果您想在_variables.scss中使用它们,则需要直接将它们导入到_styles.scss中。
答案 1 :(得分:1)
$main-background-color
是您的css变量(如在自定义属性中一样)还是您将其定义为Sass变量?
如果它是实际的CSS变量/自定义属性,则需要像这样使用它:var(--main-background-color)
,作为全局变量,需要在:root {}
或任何其他顶级元素(如{{ 1}}或<body>
。
如果它是Sass变量,则需要确保要尝试编译哪个文件。您无法自行编译<html>
,它必须是_styles.scss
,并且需要确保编译器不会首先尝试编译模块(以index.scss
开头的文件)因为这当然会失败。
_
命令基本上只是将所有内容复制到一起,因此将其加载到多个位置会多次添加。 Sass模块通过继承@import
命令来避免这种情况,但这仅在Dart Sass中受支持,而LibSass不支持。