gpt4 book ai didi

gulp - 如何将 gulp.dest() 设置在与管道输入相同的目录中?

转载 作者:行者123 更新时间:2023-12-03 08:14:02 24 4
gpt4 key购买 nike

我需要优化每个目录中找到的所有图像并将其记录到其中,而无需单独设置每个文件夹的路径。我不明白如何做到这一点。

var gulp = require('gulp');
var imageminJpegtran = require('imagemin-jpegtran');

gulp.task('optimizeJpg', function () {

return gulp.src('./images/**/**/*.jpg')
.pipe(imageminJpegtran({ progressive: true })())
.pipe(gulp.dest('./'));
});

最佳答案

这里有两个答案。
第一:它更长、更不灵活并且需要额外的模块,但它的运行速度提高了 20%,并为您提供了每个文件夹的日志。

var merge = require('merge-stream');

var folders =
[
"./pictures/news/",
"./pictures/product/original/",
"./pictures/product/big/",
"./pictures/product/middle/",
"./pictures/product/xsmall/",
...
];

gulp.task('optimizeImgs', function () {

var tasks = folders.map(function (element) {

return gulp.src(element + '*')
.pipe(sometingToDo())
.pipe(gulp.dest(element));

});

return merge(tasks);

});

第二种解决方案:它灵活优雅,但速度较慢。我更喜欢它。
return gulp.src('./pictures/**/*')
.pipe(somethingToDo())
.pipe(gulp.dest(function (file) {
return file.base;
}));

关于gulp - 如何将 gulp.dest() 设置在与管道输入相同的目录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29793894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com