在Gulp中只复制文件夹内的文件

我正在尝试将一个文件夹内的所有文件复制到另一个文件夹的吞食任务

gulp.task('copy-fonts', ['unzip'], function() { return gulp.src('./gulp-tmp/**/fonts/*') .pipe(gulp.dest('fonts')); }); 

问题是, gulp-tmp之后的目录名称有所不同,所以我必须在那里使用**

所以结果就像/fonts/[randomFolderName]/fonts/[the files]

我想要的是/fonts/[the files]

       

网上收集的解决方案 "在Gulp中只复制文件夹内的文件"

使用gulp-flatten 。

 var flatten = require('gulp-flatten'); gulp.src('./gulp-tmp/**/fonts/*') .pipe(flatten()) .pipe(gulp.dest('fonts')); 

我使用没有外部库的简单代码,例如:

 gulp.src('./src/fonts/*.{ttf,woff,eof,svg}') .pipe(gulp.dest('/build/fonts')); 

或只有html文件:

 gulp.src('./src/templates/*.html') .pipe(gulp.dest('/build/templates'));