Glob minimatch:如何 gulp.src() 所有内容,然后排除文件夹但保留一个文件在其中

编程代码

1个回答

写回答

蓝蓝17

2025-06-22 06:55

+ 关注

JS
JS

使用Glob / minimatch来排除文件夹但保留特定文件的方法是通过gulp.src()来选择所有内容,然后使用"!"符号来排除文件夹,再通过"/"来匹配所有子文件夹。这样可以排除文件夹,但保留一个特定的文件在其中。

下面我将介绍如何使用Glob / minimatch来实现这一功能,并提供相应的示例代码。

首先,我们需要安装所需的依赖包。在命令行中运行以下命令来安装Gulp和Glob:

npm install gulp glob --save-dev

接下来,我们将创建一个名为gulpfile.JS的文件,并导入所需的模块:

Javascript

const gulp = require('gulp');

const glob = require('glob');

const minimatch = require('minimatch');

然后,我们可以使用gulp.src()来选择所有内容,然后通过排除文件夹来保留特定文件。在这个例子中,我们假设要排除名为"exclude"的文件夹,但保留其中的"keep.txt"文件。代码如下:

Javascript

gulp.task('exclude-folders', function() {

return gulp.src(['</strong>/*', '!exclude/<strong>', 'exclude/keep.txt'])

.pipe(gulp.dest('dist'));

});

在上面的代码中,我们使用了'
/*'来选择所有内容,然后使用'!exclude/'来排除名为"exclude"的文件夹,最后使用'exclude/keep.txt'来保留其中的"keep.txt"文件。通过使用gulp.dest()将筛选后的文件复制到"dist"文件夹中。

接下来,我们可以运行这个gulp任务来排除文件夹但保留特定文件。在命令行中运行以下命令:

gulp exclude-folders

这样就可以将所有内容复制到"dist"文件夹中,但排除了"exclude"文件夹,同时保留了其中的"keep.txt"文件。

示例代码:

Javascript

const gulp = require('gulp');

const glob = require('glob');

const minimatch = require('minimatch');

gulp.task('exclude-folders', function() {

return gulp.src(['</strong>/*', '!exclude/<strong>', 'exclude/keep.txt'])

.pipe(gulp.dest('dist'));

});

通过上述步骤,我们成功地使用Glob / minimatch来排除文件夹但保留特定文件。这种方法非常灵活,可以根据实际需求进行调整,使得我们能够更好地控制文件的选择和排除。

使用Glob / minimatch的gulp.src()方法可以选择所有内容,并通过排除文件夹的方式保留特定文件。通过在gulp.src()的参数中使用"!"符号来排除文件夹,再使用"
/"来匹配所有子文件夹,我们可以轻松地实现这一功能。这种方法非常实用,适用于许多不同的场景。

相关资源:

- [Gulp官方网站](JS.com/">https://gulpJS.com/)

- [Glob模块文档](https://www.npmJS.com/package/glob)

- [minimatch模块文档](https://www.npmJS.com/package/minimatch)

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号