tutorial name instalar dest con change gulp

name - gulp-sass



¿Cómo configurar gulp.dest() en el mismo directorio que las entradas de tubería? (3)

Aquí hay dos respuestas.
Primero: es más largo, menos flexible y necesita módulos adicionales, pero funciona un 20% más rápido y le brinda registros para cada carpeta.

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); });

Segunda solución: es flexible y elegante, pero más lenta. Lo prefiero.

return gulp.src(''./pictures/**/*'') .pipe(somethingToDo()) .pipe(gulp.dest(function (file) { return file.base; }));

Necesito que todas las imágenes encontradas en cada uno de los directorios se optimicen y se graben en ellos sin establecer la ruta a cada carpeta por separado. No entiendo cómo hacer eso.

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(''./'')); });


Aqui tienes:

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

Gulp toma todo lo que es un comodín o una estrella global en su nombre de archivo virtual. Por lo tanto, todas las partes que sabe que desea seleccionar (como ./images/ ) tienen que estar en el directorio de destino.


Puedes usar el parámetro base :

gulp.task(''uglify'', function () { return gulp.src(''./dist/**/*.js'', { base: "." }) .pipe(uglify()) .pipe(gulp.dest(''./'')); });