我使用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中引用的第一个变量。如果我删除了引用,则错误仍然存在,但会转到文件中的下一个变量引用。
提前致谢!
答案 0 :(得分:11)
我认为你只需要重新排序包含,在调用_base.scss之前调用_variables.scss:
// Base @import 'variables'; @import 'base'; @import 'mixins';