Gulp 4 glob 排除特定文件和文件夹不起作用
Gulp 4 glob to exclude specific files and folders not working
我最近安装了 gulp 4 [来自 3.9.1],但我在让 glob 像以前一样工作时遇到了问题。
我有一个完整的目录[减去一些其他的子目录和文件]要传输。
相关代码如下:
var path_in_str = 'my_input_dir/';
var path_out_str = 'my_output_dir/';
return gulp.src([path_in_str+'**', path_in_str+'.*', '!'+path_in_str+'node_modules', '!'+path_in_str+'node_modules/**', '!'+path_in_str+'*.json'], {dot: true})
.pipe(gulp.dest(path_out_str));
基本上,我试图阻止 node_modules
文件夹被转移,我也想阻止主文件夹中的所有 .json
文件被转移。
正在发生的事情是仅 node_modules
目录 [无内容] 正在传输。此外,正在传输所有 .json
个文件。
我如何调整它以修复 Gulp 4 处理 glob 的方式 [因为它似乎已经略有改变]?
我无法让它与原生 gulp 一起使用,所以我想我会尝试节点 glob 包,这个选项似乎最适合用例。
首先你需要像这样安装它:
npm install glob --save-dev
然后在您的 gulp 中引用它:
var gp_glob = require('glob');
最后,将其用作 glob 过滤器:
var input_list_arr = gp_glob.sync(path_in_str+'**', {ignore: [path_in_str+'node_modules/**', path_in_str+'*.json'], dot: true});
return gulp.src(input_list_arr, {base: path_in_str})
.pipe(gulp.dest(path_out_str));
请注意,我们使用 ignore
选项而不是 !
符号来过滤 file/directory 路径。另请注意,将筛选列表传递到 gulp.src
时指定了 base
选项。
这按预期对我有用。希望对你有帮助。
我最近安装了 gulp 4 [来自 3.9.1],但我在让 glob 像以前一样工作时遇到了问题。
我有一个完整的目录[减去一些其他的子目录和文件]要传输。
相关代码如下:
var path_in_str = 'my_input_dir/';
var path_out_str = 'my_output_dir/';
return gulp.src([path_in_str+'**', path_in_str+'.*', '!'+path_in_str+'node_modules', '!'+path_in_str+'node_modules/**', '!'+path_in_str+'*.json'], {dot: true})
.pipe(gulp.dest(path_out_str));
基本上,我试图阻止 node_modules
文件夹被转移,我也想阻止主文件夹中的所有 .json
文件被转移。
正在发生的事情是仅 node_modules
目录 [无内容] 正在传输。此外,正在传输所有 .json
个文件。
我如何调整它以修复 Gulp 4 处理 glob 的方式 [因为它似乎已经略有改变]?
我无法让它与原生 gulp 一起使用,所以我想我会尝试节点 glob 包,这个选项似乎最适合用例。
首先你需要像这样安装它:
npm install glob --save-dev
然后在您的 gulp 中引用它:
var gp_glob = require('glob');
最后,将其用作 glob 过滤器:
var input_list_arr = gp_glob.sync(path_in_str+'**', {ignore: [path_in_str+'node_modules/**', path_in_str+'*.json'], dot: true});
return gulp.src(input_list_arr, {base: path_in_str})
.pipe(gulp.dest(path_out_str));
请注意,我们使用 ignore
选项而不是 !
符号来过滤 file/directory 路径。另请注意,将筛选列表传递到 gulp.src
时指定了 base
选项。
这按预期对我有用。希望对你有帮助。