是否有一个gulp watch替代方案,只有在保存scss文件时编译sass?

时间:2017-04-12 11:00:15

标签: javascript gulp

我正在寻找“gulp watch”任务的替代方案,只有在我保存scss文件时才会编译scss。有没有?

我问这个问题是因为当我的提示中“保持活着”时,当我开始修改我的scss文件中的内容时,它会让我的计算机变得非常慢。

很抱歉,如果这是一个菜鸟问题,但我是Gulp的新手!

我的gulpfile.js看起来像这样:

var gulp = require('gulp');  
var sass = require('gulp-sass');

//style paths
var sassFiles = 'sass/**/*.scss',  
    cssDest = 'css/';

gulp.task('styles', function(){  
    gulp.src(sassFiles)
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest(cssDest));
});

gulp.task('watch',function() {  
    gulp.watch(sassFiles,['styles']);
});

1 个答案:

答案 0 :(得分:1)

在您的示例中,每次更改一个文件时,都会编译所有 scss文件。这可能会减慢速度。

如果您只想编译已更改的scss文件,则需要这样做。

gulp.task('watch', function() {  
    gulp.watch(sassFiles, function(obj) {
        return gulp.src(obj.path)
           .pipe(sass().on('error', sass.logError))
           .pipe(gulp.dest(cssDest));
    });
});