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

fae0ux8s  于 2022-12-08  发布在  Gulp
关注(0)|答案(1)|浏览(198)

我在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()的基本选项做一些事情,但没有成功,因为我不知道如何获得定位图像的完整路径。

7cwmlq89

7cwmlq891#

看一下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'));
}

相关问题