我使用gulp-zip和gulp for-each来压缩许多文件夹。这些包含名为_js,_css和_raw的其他文件夹。我希望从输出压缩文件中排除以下划线开头的任何文件夹。
gulp.task("zipAll", function(){
return gulp.src('src/*')
.pipe(foreach(function(stream, file){
var fileName = file.path.substr(file.path.lastIndexOf("/")+1);
gulp.src("src/" + fileName + "/**/*")
.pipe(zip(fileName + ".zip"))
.pipe(gulp.dest("dist"));
return stream;
}));
});

答案 0 :(得分:0)
最后想出来,这是我的解决方案:
gulp.task('zipAll', function(){
return gulp.src('src/*')
.pipe(foreach(function(stream, file){
var fileName = file.path.substr(file.path.lastIndexOf('/')+1);
gulp.src(['src/' + fileName + '/**/*', '!src/' + fileName + '/_sass{,/**}', '!src/' + fileName + '/_js{,/**}', '!src/' + fileName + '/_raw{,/**}'])
.pipe(zip(fileName + '.zip'))
.pipe(gulp.dest('dist'));
return stream;
}));
});