【发布时间】:2017-03-12 16:55:59
【问题描述】:
我是使用 Gulp 的初学者,我不太了解什么是可能的,什么是不可能的。我想实现以下目标:
我对 1 个项目的设置:
.dist
├── client-1
│ ├──campaign-1
│ │ ├── project-a
│ │ │ ├── css(文件夹)
│ │ │ ├── js(文件夹)
│ │ │ ├── 图片(文件夹)
│ │ │ ├── index.html
│ │ │ └── preview.html
(每个项目都有相同的结构。我有多个客户,他们的名字不同,活动也不同。)
!!我想为每个项目制作一个包含所有文件和文件夹的 zip 文件,preview.html 文件除外。如果名称可以是项目的名称,那就更好了。
.dist
├── client-1
│ ├──campaign-1
│ │ ├── project-a
│ │ │ ├── css(文件夹)
│ │ │ ├── js(文件夹)
│ │ │ ├── 图片(文件夹)
│ │ │ ├── index.html
│ │ │ ├── preview.html
│ │ │ └── project-a.zip(新)
如果我解压缩 zip 文件,我希望看到以下内容(不在文件夹内):
- css(文件夹和内容)
- js(文件夹和内容)
- 图片(文件夹和内容)
- index.html
如何设置 Gulp 任务来为我执行此压缩?
【问题讨论】:
-
你好@SvenSchoenung,还有特定的文件夹之间有通配符文件夹吗?
-
您是想知道如何做到这一点,还是只是想知道您的目标是否不可能实现?
-
我想知道这个目标是否以及如何实现。 @亨利
-
好吧,我是这么认为的。正如@SvenSchoenung 所说,您需要
gulp-zip进行压缩,并且(如该链接问题的答案)您将使用!negationglob 排除preview.htmls。要单独执行每个项目,请使用gulp-flatMap。要在项目之后命名 zip,您将执行类似于 this question 的答案(gulp-flatMap的旧名称为gulp-foreach)。