未在导入之间共享sass变量
我的sass文件有以下设置: base.scss未在导入之间共享sass变量,sass,gruntjs,Sass,Gruntjs,我的sass文件有以下设置: base.scss @import "colors"; @import "forms"; _颜色.scss $gray: #ccc; _forms.scss form { background: $gray; } 当我运行grunt sass来构建css时,我得到以下错误: Running "sass:dist" (sass) task Syntax error: Undefined variable: "$gray". on line
@import "colors";
@import "forms";
_颜色.scss
$gray: #ccc;
_forms.scss
form {
background: $gray;
}
当我运行grunt sass
来构建css时,我得到以下错误:
Running "sass:dist" (sass) task
Syntax error: Undefined variable: "$gray".
on line xx of sass/_forms.scss
Use --trace for backtrace.
问题是我的sass grunt任务,我正在处理整个目录,而不仅仅是
base.scss
以下是针对任何未来有相同问题的人的修复方法:
您想查看所有文件的更改
watch: {
css: {
files: './sass/**/*.scss',
tasks: ['sass']
}
}
您只想处理base.scss
,因为它包括所有其他\u foo.scss
文件(这些文件只需查看基本文件即可处理)
sass: {
dist: {
files: [{
expand: true,
cwd: './sass',
src: ['base.scss'],
dest: './public/css',
ext: '.css'
}]
}
},
如果您正在使用,则它将忽略“u”sass文件。从其自述文件:
注意:以“\”开头的文件即使与全局模式匹配,也会被忽略。这样做是为了匹配预期的模式
在版本v0.6.0中引入了相同的功能(参见其)
这两个插件都是在您提出问题后更新的
因此,您的grunt任务现在可以保持原来的状态,这将使您能够拥有多个“基本”文件—独立的sass文件,这些文件单独编译,而不编译部分文件。请向我们展示您的grunt文件。我想这可能是问题所在。请参阅我的答案。