处理 Watch 上的删除事件
您可以监听从 gulp.watch
返回的监视器上的 'unlink'
事件。
当文件被删除时,此事件会被触发,因此您可以使用类似以下的方法从目标目录中删除文件:
'use strict';
var del = require('del');
var path = require('path');
var gulp = require('gulp');
var header = require('gulp-header');
var footer = require('gulp-footer');
gulp.task('scripts', function() {
return gulp.src('src/**/*.js', {base: 'src'})
.pipe(header('(function () {\r\n\t\'use strict\'\r\n'))
.pipe(footer('\r\n})();'))
.pipe(gulp.dest('build'));
});
gulp.task('watch', function () {
var watcher = gulp.watch('src/**/*.js', ['scripts']);
watcher.on('unlink', function (filepath) {
var filePathFromSrc = path.relative(path.resolve('src'), filepath);
// 连接脚本任务中 gulp.dest 使用的 'build' 绝对路径
var destFilePath = path.resolve('build', filePathFromSrc);
del.sync(destFilePath);
});
});