【问题标题】:Exclude folders from Gulp-Zip task foreach loop从 Gulp-Zip 任务 foreach 循环中排除文件夹
【发布时间】:2018-01-23 16:37:31
【问题描述】:

我正在使用 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;
       }));
});

【问题讨论】:

标签: javascript node.js gulp


【解决方案1】:

最后想通了,这是我的解决方案:

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;
    }));
});

【讨论】:

    猜你喜欢
    • 2014-06-16
    • 2016-11-13
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    相关资源
    最近更新 更多