有没有办法可以看到gulp手表处理哪些文件?

时间:2016-04-14 07:03:00

标签: javascript node.js gulp

我有这个gulp任务:

> cmd.exe /c gulp -b "C:\H\user\user" --color --gulpfile "C:\H\user\user\Gulpfile.js" watchHTMLs
[11:37:29] Using gulpfile C:\H\user\user\Gulpfile.js
[11:37:29] Starting 'watchHTMLs'...
[11:37:29] Finished 'watchHTMLs' after 60 ms

我是否有某种方法可以看到输出gulp脚本的输出,该脚本会显示哪个文件被更改?

这样的事情:

{{1}}

找到文件/app/xxx/abc.html 找到文件/app/yyy/abc.html 找到文件/app/xxx/def.html

2 个答案:

答案 0 :(得分:2)

看看gulp-print

gulp.watch(abc.src, function (file) {
    return gulp.src(file.path, { base: process.cwd() })
      .pipe(print(function (file) {
          return "Found file "+file;
      })
      .pipe(rename({ basename: 'base' }))
      .pipe(gulp.dest('./'));
    });

答案 1 :(得分:2)

gulp.watch会返回一个EventEmitter,因此您只需听取更改:

var watcher = gulp.watch(abc.src, 'task');
watcher.on('change', event => {
    console.log(event.path);
});

或者,如果您想要遵循您的方法,我建议您使用gulp-debug

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

...

gulp.watch(abc.src, function (file) {
    return gulp.src(file.path, { base: process.cwd() })
      .pipe(debug())
      .pipe(rename({ basename: 'base' }))
      .pipe(gulp.dest('./'));
});