Gulp-sass在包含的文件中找不到variables?

我有一个_variables.scss文件声明的地图:

$chord1: ( color1: rgb(0, 155, 223), color2: rgb(114, 191, 68), color3: rgb(207, 9, 137), color4: rgb(62, 83, 164) ); $chord: $chord1; 

我有第二个文件。 _globals.scss我在这里引用:

 .myClass { color: map-get($chord, color1); } 

我有一个主要的scss文件作为app.scss,@import他们:

 @import 'colors'; @import 'globals'; 

但是,gulp-sass会抛出一个错误Error: invalid top-level expression基于map-get的Error: invalid top-level expression

我在一个项目上使用了gulp-ruby-sass,它工作。 不过,在这个项目中我们使用的是gulp-sass 1.1.0。 我的g task任务是:

 gulp.task('styles', function () { return gulp.src('./app/assets/sass/app.scss') .pipe(plumber()) .pipe(sass({ style: 'expanded' })) .pipe(gulp.dest('./app/assets/css')) .pipe(reload({stream: true})); }); 

这种事情是不是在一味地工作? 还是我做错了什么?

半猜:导入工作正常,但节点sass不支持Sass 3.3随附的地图。

https://github.com/sass/node-sass#reporting-sass-compilation-and-syntax-issues

libsass库目前与Sass的大多数用户将使用的3.2 Ruby Gem不兼容,并且对3.3语法几乎不支持。 虽然我们尽力保持与libsass的function相同,但我们无法启用尚未在libsass中实现的function。