SASS编译错误:未定义的变量

时间:2015-03-22 11:08:58

标签: compilation compiler-errors sass

我使用Koala编译SASS并收到以下错误:

C:.....\HTML\scss\style.scss
Error: Undefined variable: "$font-primary".
        on line 2 of C:...../HTML/scss/_base.scss
        from line 7 of C:.....\HTML\scss\style.scss
  Use --trace for backtrace.

编辑 - 供参考,以下是我目前使用的代码段:

style.scss

// Vendor
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import 'vendor/foundation';
@import 'vendor/normalize';

// Base
@import 'base';
@import 'mixins';
@import 'variables';

// Layout
@import 'header';
@import 'footer';

_variables.scss

// Colours
$black:         #2e2e2e;
$cream:         #fcfbf5;
$green:         #b2ca9d;
$green-dark:    #4d6638;
$grey-light:    #808080;
$grey:          #4f4f4f;
$pink-light:    #f8d8d8;
$pink:          #f0acac;
$pink-dark:     #835151;
$white:         #ffffff;

// Fonts
$font-primary:  'Droid Serif', serif;

_base.scss

body {
    font-family: $font-primary;
    line-height: 1.5;
    color: $black;
}

h1, h2, h3, h4, h5, h6 {
    font-family: $font-primary;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
}

h1, h2 {
    font-size: 2.25rem;
}

.image-replace {
    width: 100%;
    height: 0;
    display: inline-block;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    border: 0;
    background-color: transparent;
}

我的问题是变量$ font-primary绝对是在_variables.scss中定义的(它也肯定被导入到我的主style.scss中)所以我真的很困惑如何/为什么错误正在生成。

我检查了所有文件的编码,他们使用的是没有BOM的UTF-8,这是other similar questions中的建议修补程序。

顺便说一下,这是_base.scss中引用的第一个变量。如果我删除了引用,则错误仍然存​​在,但会转到文件中的下一个变量引用。

提前致谢!

1 个答案:

答案 0 :(得分:11)

我认为你只需要重新排序包含,在调用_base.scss之前调用_variables.scss:

// Base 
@import 'variables';
@import 'base'; 
@import 'mixins';