所有scss文件的@import变量

时间:2017-07-25 06:50:18

标签: sass

在我的template.scss顶部

@import "variables";
@import "reset";

但我在reset.scss

上遇到错误
Libsass: Error: Undefined variable: "$baseFontSize".
        on line 13 of .../sass/reset.scss
>>          font-size:$baseFontSize;

因为它不知道variables.scss。我以前从未遇到过这个问题

variables.scss是我的第一个@import文件,它应该适用于所有其他.scss导入的

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

您的变量可能位于规则集(选择器块)内,因此lexically scoped。因此,它们不在所述块之外。绕过你应该定义variables.scss根级别的所有变量,或者将!global修饰符添加到变量中。

$baseFontSize: 12px !global;

答案 1 :(得分:0)

1)检查重置文件中的$baseFontSize(如果有),然后按照以下步骤操作:

@import需要导入文件名。默认情况下,它会查找要直接导入的Sass文件,但在某些情况下,它会编译为CSS @import规则:

  • 如果文件名以http://开头。
  • 如果文件名为url()
  • 如果@import有任何媒体查询。
  • 如果@import有任何媒体查询。

如果上述条件均不符合且扩展名为.scss.sass,则将导入指定的Sass或SCSS文件。如果没有扩展名,Sass将尝试查找具有该名称和.scss.sass扩展名的文件并将其导入。

答案 2 :(得分:0)

只是在工作中遇到了这个问题。

您的变量文件(以及您拥有的所有部分文件)必须以_开头。

在SASS中使用@import后,指令内的文件必须命名为_myFileName.scss

希望有帮助!