在`gulp.src`中使用glob排除gulp中的目录模式

wot*_*pal 4 glob path gulp

我试图用gulp.src()所有以字符_(即_Stuff/)开头的目录覆盖所有文件和目录.我怎样才能做到这一点?

Sve*_*ung 9

假设您有一个project/src包含以下文件的文件夹:

file.txt
folder
folder/file.txt
folder/_subfolder
folder/_subfolder/file.txt
folder/subfolder
folder/subfolder/file.txt
_folder
_folder/file.txt
_folder/_subfolder
_folder/_subfolder/file.txt
_folder/subfolder
_folder/subfolder/file.txt
Run Code Online (Sandbox Code Playgroud)

然后这个任务在project/Gulpfile.js:

gulp.task('default', function() {
  return gulp.src([
      'src/**/*',         //select all files
      '!src/**/_*/',      //exclude folders starting with '_'
      '!src/**/_*/**/*',  //exclude files/subfolders in folders starting with '_'
    ])
    .pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)

将导致以下文件被写入project/dist:

file.txt
folder
folder/file.txt
folder/subfolder
folder/subfolder/file.txt
Run Code Online (Sandbox Code Playgroud)