我有一个gulp任务执行一项非常简单的任务,它搜索文件夹中的所有文件,过滤html文件,验证它们,然后恢复文件流并推送目标文件夹中的每个文件类型。这个gulpfile:
// define gulp
var gulp = require('gulp');
// define plug-ins
var filter = require('gulp-filter');
var w3cjs = require('gulp-w3cjs');
var newer = require('gulp-newer');
// define paths
var src_path = 'src';
var dest_path = 'public';
// Copy all files from /src, validate html files, and and push everything inside /public
gulp.task('files', function() {
return gulp.src(src_path + '/*') //search for all files
.pipe(newer(dest_path)) // if new go on, if old skip
.pipe(filter('*.html')) // filter html files
.pipe(w3cjs()) // validate filtered files
.pipe(filter('*.html').restore()) // restore files in pre-filter state
.pipe(gulp.dest(dest_path)) // push in destination folder
});
似乎“恢复”不是恢复文件,事实上只有html文件被推送到生产(/ public)文件夹中,可能是什么错误?谢谢你的帮助。
答案 0 :(得分:1)
可能会将变量分配给var filter = filter('*.html')
并使用它来恢复.pipe(filter.restore())
。