如何吞掉拉链多个文件夹,并排除一些文件?

问题描述 投票:1回答:1

我是一个初学者在使用杯和我不知道了很多关于什么是可能的,什么不是。我想实现以下目标:

我的设置1个项目:

.dist ├──客户-1 │├──运动-1 ││├──项目一 │││├──CSS(文件夹) │││├──JS(文件夹) │││├──图像(文件夹) │││├──的index.html │││└──preview.html

(每个项目都具有相同的结构。我有不同活动不同名称的多个客户端。)

!我想就与包括所有文件和文件夹的每个项目一个zip文件,但该文件preview.html。如果该名称可以是项目的名称,甚至会更好。

.dist ├──客户-1 │├──运动-1 ││├──项目一 │││├──CSS(文件夹) │││├──JS(文件夹) │││├──图像(文件夹) │││├──的index.html │││├──preview.html │││└──project-a.zip(新)

如果我解压的压缩文件,我想看看下面的(不是文件夹中):

  • CSS(文件夹和内容)
  • JS(文件夹和内容)
  • 图像(文件夹和内容)
  • 的index.html

我怎样才能建立咕嘟咕嘟任务(s)在此拉上我?

gulp zip
1个回答
3
投票

您可以gulp-zip的帮助下做到这一点。

如果你想从荏苒排除特定的文件或文件夹,您可以使用正则表达式。勾选此一次,qazxsw POI

见下文:

Excluding files/directories from Gulp task

如果你想排除或包括任何具体的文件夹或文件,你可以做到这一点与正则表达式也。比方说,如果你想排除与下划线开头的文件夹(“_”)从拉链符号,你这个样子,

const gulp = require('gulp');
const zip = require('gulp-zip');

gulp.task('default', () => {
  return gulp.src([ 'js/**/*.js', '!js/**/*.min.js' ]) // Here I'm excluding .min.js files
    .pipe(zip('archive.zip'))
    .pipe(gulp.dest('dist'));
});

就像,我们在javascript写的,相同的正则表达式的意志在这里工作。希望这可以帮助 :)

© www.soinside.com 2019 - 2024. All rights reserved.