gpt4 book ai didi

gulp - 如何压缩多个文件夹并排除一些文件?

转载 作者:行者123 更新时间:2023-12-04 02:09:13 24 4
gpt4 key购买 nike

我是使用 Gulp 的初学者,我不太了解什么是可能的,什么不是。我想实现以下目标:

我对 1 个项目的设置:

.距离
├── client-1
│ ├── campaign-1
│ │ ├── project-a
│ │ │ ├── css(文件夹)
│ │ │ ├── js(文件夹)
│ │ │ ├── 图片(文件夹)
│ │ │ ├── index.html
│ │ │ └── preview.html

(每个项目都有相同的结构。我有多个客户,名称不同,事件也不同。)

!!我想为每个项目制作一个包含所有文件和文件夹的 zip 文件,文件 preview.html 除外。如果名字可以作为项目的名字就更好了。

.距离
├── client-1
│ ├── campaign-1
│ │ ├── project-a
│ │ │ ├── css(文件夹)
│ │ │ ├── js(文件夹)
│ │ │ ├── 图片(文件夹)
│ │ │ ├── index.html
│ │ │ ├── preview.html
│ │ │ └── project-a.zip(新)

如果我解压缩 zip 文件,我希望看到以下内容(不在文件夹内):

  • css(文件夹和内容)
  • js(文件夹和内容)
  • 图片(文件夹和内容)
  • index.html

我如何设置 Gulp 任务来为我执行此压缩操作?

最佳答案

您可以在 gulp-zip 的帮助下完成此操作.

如果您想从压缩中排除特定文件或文件夹,您可以使用正则表达式。检查一次,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'));
});

如果您想排除或包含任何特定的文件夹或文件,您也可以使用正则表达式来实现。比方说,如果你想从 zip 中排除以下划线 ('_') 符号开头的文件夹,你可以这样做,

gulp.src('js/[^_]*/*.js'); // Here I'm excluding folders that start with '_' symbol

就像我们用 javascript 编写的内容一样,同样的正则表达式也可以在这里使用。希望这会有所帮助:)

关于gulp - 如何压缩多个文件夹并排除一些文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com