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

Gulp-sass not finding variable in included files(s)?

我有一个 _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,@imports 它们:

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

但是,gulp-sass 根据该 map-get 抛出错误 Error: invalid top-level expression

我在一个项目中使用 gulp-ruby-sass 并且它有效。然而,在这个项目中我们使用的是 gulp-sass 1.1.0。我的 gulp 任务是:

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}));
});

这种事情在 gulp-sass 中行不通吗?还是我做错了什么?

一半猜测:导入工作正常但节点-sass 不支持 Sass 3.3.

附带的地图

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

The libsass library is not currently at feature parity with the 3.2 Ruby Gem that most Sass users will use, and has little-to-no support for 3.3 syntax. While we try our best to maintain feature parity with libsass, we can not enable features that have not been implemented in libsass yet.