从gulp watch获取文件名到gulp任务

时间:2016-10-20 06:47:09

标签: css sass gulp

我用gulp。

Gulp观看

gulp.task('default',function() {
    gulp.watch([
        'assets/scss/**/*.scss',
    ], ['css']);
});

Gulp CSS任务

此任务使用style.scss,其中包含其他scss文件。保存后,它会被命名为style.css

gulp.task('css', function() {
    gulp.src(['assets/scss/style.scss'])
        .pipe(sass())
        .pipe(gulp.dest('site/plugins/theme/assets/css'))
    ;
});

就我而言,我希望它是这样的:

gulp.task('css', function() {
    gulp.src(['assets/scss/' + filename])
        .pipe(sass())
        .pipe(gulp.dest('site/plugins/theme/assets/css'))
    ;
});

在这样的手表中:

gulp.task('default',function() {
    gulp.watch([
        'assets/scss/**/*.scss',
    ], ['css', 'my-filename']);
});

从gulp watch发送文件名以在gulp src中使用。可能吗?怎么样?

1 个答案:

答案 0 :(得分:0)

我不认为你可以通过调用单独的任务来做到这一点,但是你可以在观察者中使用匿名函数来完成它

gulp.task('default', function() {
 gulp.watch(['assets/scss/**/*.scss'], function (obj) {

  return gulp.src(obj.path, {"base": "assets/scss/"})
   .pipe(sass())
   .pipe(gulp.dest('site/plugins/theme/assets/css'));

 });
});