使用 gulp.dest() 时如何省略所有子目录?

How to omit all sub directories when using gulp.dest()?

我在Gulp有一个任务:

// converts jpg/png images to webp
function webpImage() {
    return src('src/**/*.{jpg,png}')
        .pipe(imagewebp())
        .pipe(dest('dist/images'));
}

我只想将所有新的.webp图像直接放入dist/images。我不想要任何子文件夹,路径如下:dist/images/header/header.jpg。我需要它是这样的:/dist/images/header.jpg

我尝试用 src() 的基本选项做一些事情,但没有成功,因为我不知道如何获得定位图像的完整路径。

查看 gulp-flatten 包。我已经有一段时间没有使用它了,所以请确保它适用于 gulp v4。它“扁平化”了通过的文件的目录结构,以根据需要消除尽可能多的父目录。

// other requires
var flatten = require('gulp-flatten');

function webpImage() {
    return src('src/**/*.{jpg,png}')
        .pipe(imagewebp())
        .pipe(flatten())
        .pipe(dest('dist/images'));
}