管道gulp-watch进入gulp-ruby-sass的问题

时间:2015-01-13 23:41:44

标签: gulp gulp-watch gulp-sass

也许我是个白痴,但是我无法将gulp-watch和gulp-ruby-sass组合起来。任何建议都非常受欢迎。对于以下所有内容,我的gulpfile.js中的require()调用如下所示:

var gulp = require('gulp');
var watch = require('gulp-watch');
var plumber = require('gulp-plumber');
var sass = require('gulp-ruby-sass');

接下来的一点是我无法发挥作用。当我更改文件时,我看到gulp-watch的输出声明文件已更改,但gulp-ruby-sass没有输出,文件也没有写入dist /目录。

gulp.task('test-watch', function() {
    return watch('./**/*.scss')
        .pipe(plumber())
        .pipe(sass())
        .pipe(gulp.dest('dist/'));
});

然而我知道gulp-watch和gulp-ruby-sass都是单独设置的,因为它们可以自行运行:

// writes updated files to dist/ successfully
gulp.task('test-watch', function() {
    return watch('./**/*.scss')
        .pipe(plumber())
        .pipe(gulp.dest('dist/'));
});

// compiles into css and writes to dist/ directory successfully
gulp.src('./**/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('dist/'));

那么我的问题是什么?更令人烦恼的是,上面那个不起作用的例子实际上来自于gulp-watch自述文件,所以应该是支持的东西。非常欢迎任何建议!

1 个答案:

答案 0 :(得分:1)

似乎"解决方案"是使用gulp-sass代替gulp-ruby-sass。

我仍然不知道为什么gulp-ruby-sass不支持这个,因为将gulp.src()的结果输入和输出gulp-ruby-sass就像一个冠军,但它没有&#39 ;吨。我想知道gulp-watch是否会返回与gulp.src不同的文件格式,而gulp-ruby-sass无法处理,但gulp-sass可以。

如果有人知道如何为gulp-ruby-sass做这项工作,因为它应该更全面,请分享。