Sass 大口大口大口大口大口地跑镖

Sass 大口大口大口大口大口地跑镖,sass,gulp,gruntjs,Sass,Gulp,Gruntjs,Ruby Sass正在消失(除非有新的维护人员接手),取而代之的是Dart实现,如下所示: 有人知道Gulp或Grunt是否有正在开发的插件吗?从Gulp使用dart sass应该很简单: 但我不知道grunt。几个月前,我在做一个个人项目,想用gulp进行dart sass,所以我做了自己的基本功能,直到有人来做更好的东西。我不记得当时dart sass是哪一个版本,但这里有一个函数。它就在海湾里 function sassify(options) { return through.o

Ruby Sass正在消失(除非有新的维护人员接手),取而代之的是Dart实现,如下所示:


有人知道Gulp或Grunt是否有正在开发的插件吗?

从Gulp使用dart sass应该很简单:


但我不知道grunt。

几个月前,我在做一个个人项目,想用gulp进行dart sass,所以我做了自己的基本功能,直到有人来做更好的东西。我不记得当时dart sass是哪一个版本,但这里有一个函数。它就在海湾里

function sassify(options) {
  return through.obj(function (file, enc, cb) {
    options = options || {};
    options.file = file.path;
    // if (file.sourceMap) {
      // options.sourceMap = true;
      // options.outFile = output.path('css');
    // }
    sass.render(options, function (err, result) {
      if (err) {
        console.error("Sass Error: " + err.message);
      }
      else {
        file.contents = result.buffer;
        // if (file.sourceMap) {
          // applySourceMap(file, result.map);
        // }
      }
      cb(err, file);
    });
  });
}
当时,dart sass还没有源代码映射,所以我只是插入了这些东西,并在它们有源代码映射时将其注释掉。 我是这样使用函数的:

gulp.task('build:css', function () {
  gulp.src(input.sass)
    // .pipe(sourcemaps.init())
    .pipe(sassify())
    // .pipe(sourcemaps.write(output.path('cssmap')))
    .pipe(concat(output.path('css')))
    .pipe(gulp.dest('.'));
});

自从Ruby Sass被弃用的消息和Dart Sass的首次正式发布以来,我最近向npm注册中心提交了这个包,看起来好像是另一个用户提交的。由于这些是用户贡献的软件包,它们不是由Dart Sass的制造商自己创建的,而是与Dart Sass API的接口。希望该项目也能尽快升级他们的软件包以使用Dart Sass。

我不确定这是否那么容易,因为Gulp的目的是使用streams,是吗?但看起来render()和renderSync()并没有返回可用的流,而是返回一个缓冲区。
gulp.task('build:css', function () {
  gulp.src(input.sass)
    // .pipe(sourcemaps.init())
    .pipe(sassify())
    // .pipe(sourcemaps.write(output.path('cssmap')))
    .pipe(concat(output.path('css')))
    .pipe(gulp.dest('.'));
});