【问题标题】:Running Dart Sass on Gulp or Grunt在 Gulp 或 Grunt 上运行 Dart Sass
【发布时间】:2017-08-17 14:40:04
【问题描述】:

根据这篇文章,Ruby Sass 正在消失(除非有新的维护者接受它)并被 Dart 实现所取代:

Announcing Dart Sass

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

【问题讨论】:

    标签: sass gulp gruntjs


    【解决方案1】:

    几个月前我在做一个个人项目,想要 dart-sass 和 gulp,所以我做了自己的基本功能,直到其他人出现并做出更好的东西。我不记得当时 dart-sass 是哪个版本的,但无论如何这里是函数。它就在 gulpfile 中。

    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('.'));
    });
    

    【讨论】:

      【解决方案2】:

      从 gulp 中使用 dart-sass 应该很简单:

      https://www.npmjs.com/package/dart-sass#from-npm

      npm install dart-sass
      
      var sass = require('dart-sass');
      sass.render(...)
      

      虽然不知道咕噜声。

      【讨论】:

      • 我不确定这是否容易,因为 Gulp 的目的是使用流,是吗?但似乎 render() 和 renderSync() 没有返回可用的流,而是可能返回 Buffer。
      【解决方案3】:

      自从 Ruby Sass 被弃用和 Dart Sass 首次正式发布以来,我最近向 npm 注册表贡献了 grunt-dart-sass 包,看起来另一个用户贡献了 gulp-dart-sass。由于这些是用户贡献的包,它们不是由 Dart Sass 的制造者自己创建的,但仍然与 Dart Sass API 交互。希望grunt-contrib-sass 项目也能尽快升级他们的包以使用 Dart Sass。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-14
        • 2015-12-09
        • 1970-01-01
        • 2020-09-17
        • 1970-01-01
        • 2015-08-21
        • 1970-01-01
        • 2014-11-27
        相关资源
        最近更新 更多