Css 将文件名从gulp watch获取到gulp任务中

Css 将文件名从gulp watch获取到gulp任务中,css,sass,gulp,Css,Sass,Gulp,我喝一大口 吞下手表 gulp.task('default',function() { gulp.watch([ 'assets/scss/**/*.scss', ], ['css']); }); 吞咽CSS任务 此任务正在使用包含其他scss文件的style.scss。当它被保存时,它被命名为style.css gulp.task('css', function() { gulp.src(['assets/scss/style.scss'])

我喝一大口

吞下手表

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

此任务正在使用包含其他scss文件的
style.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.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中使用。可能吗?怎么做?

我不认为可以通过调用单独的任务来实现这一点,但可以通过watcher中的匿名函数来实现

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'));

 });
});

我不认为可以通过调用单独的任务来实现这一点,但是可以通过watcher中的匿名函数来实现

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'));

 });
});

不,不可能。不能将参数传递给“吞咽”任务。你必须重构代码并将其放入自己的函数中。不,这是不可能的。不能将参数传递给“吞咽”任务。您必须重构代码并将其放入自己的函数中。