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

Exclude Directory-Pattern in gulp with glob in `gulp.src`

我正在尝试用 gulp.src() 全局化所有文件和目录,除了所有以字符 _(即 _Stuff/)开头的目录。我怎样才能做到这一点?

假设您有一个包含以下文件的文件夹 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

然后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'));
});

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

file.txt
folder
folder/file.txt
folder/subfolder
folder/subfolder/file.txt