Задать вопрос
@RedSmoke_smr

Почему gulp при компиляции выдает ошибку Error: write callback called multiple times?

Здравсвуйте!
Подскажите пожалуйста, почему при компиляции gulp выдает ошибку Error: write callback called multiple times?
Я скачал стартовый шаблон с github'a он был полностью настроен со всеми тасками и пр. (я пока в написание тасков для gulp не разбираюсь), при запуске gulp (командой gulp в консоли) у меня весь код отлично компилируется из scss и pug в обычный css и html с картинками. Я закончил полностью всю верстку, и как говорил автор шаблона, что в конце, когда все закончено необходимо в консоли написать команду gulp build и тогда соберется проект со всеми минифицированными файлами и сжатой графикой. Но когда я пишу gulp build в консоле начинается выполнение все тасков, и при прохождениее таска 'img:build' выдает ошибку.
Помогите разобраться в данном вопросе, может где то в таске есть ошибка ?
Код таска прилагаю:
let imagemin = require('gulp-imagemin'),
    imageminJpegRecompress = require('imagemin-jpeg-recompress'),
    pngquant = require('imagemin-pngquant'),
    cache = require('gulp-cache'),
    imgPATH = {
        "input": ["./dev/static/images/**/*.{png,jpg,gif,svg}",
            '!./dev/static/images/svg/*'],
        "output": "./build/static/images/"
    };

module.exports = function () {
    $.gulp.task('img:dev', () => {
        return $.gulp.src(imgPATH.input)
            .pipe($.gulp.dest(imgPATH.output));
    });

    $.gulp.task('img:build', () => {
        return $.gulp.src(imgPATH.input)
            .pipe(cache(imagemin([
                imagemin.gifsicle({interlaced: true}),
                imagemin.jpegtran({progressive: true}),
                imageminJpegRecompress({
                    loops: 5,
                    min: 70,
                    max: 75,
                    quality: 'medium'
                }),
                imagemin.svgo(),
                imagemin.optipng({optimizationLevel: 3}),
                pngquant({quality: '65-70', speed: 5})
            ], {
                verbose: true
            })))
            .pipe($.gulp.dest(imgPATH.output));
    });
};
  • Вопрос задан
  • 727 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@RedSmoke_smr Автор вопроса
Разобрался сам. Ошибка была в этом таске - $.gulp.task('img:build', ()
Я его не много исправил, и все заработало
Ниже код рабочей функции:
$.gulp.task('img:build', () => {
        return $.gulp.src(imgPATH.input)
            .pipe(imagemin([
                imagemin.gifsicle({interlaced: true}),
                imageminJpegRecompress({
                    loops:4,
                    min: 70,
                    max: 75,
                    quality:'medium'
                }),
                imagemin.optipng(),
                imagemin.svgo(),
                imagemin.optipng({optimizationLevel: 3}),
                pngquant({quality: [0.65, 0.7], speed: 5})
            ], {
                verbose: true
            }))
            .pipe($.gulp.dest(imgPATH.output));
    });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы