有没有办法,我可以看到哪些文件是由吞咽手表处理?

我有这个吞咽任务:

var abc = { src: [ 'app/**/abc.html', 'app/**/def.html' ], }; gulp.task('watchHTMLs', function () { gulp.watch(abc.src, function (file) { return gulp.src(file.path, { base: process.cwd() }) .pipe(rename({ basename: 'base' })) .pipe(gulp.dest('./')); }); }); 

有没有什么方法可以从我运行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 

find文件/app/xxx/abc.htmlfind文件/app/yyy/abc.htmlfind文件/app/xxx/def.html

看看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('./')); }); 

gulp.watch返回一个EventEmitter,所以你可以简单地听取更改:

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

或者,如果你想遵循你的方法,我build议使用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('./')); });