Почему не работает плагин gulp-imagemin?

Проблема заключается в том что при использование данного плагина ломается gulp, начинает выдавать в консоль непонятные символы.
65378383568e6614857811.png
const {task, src, series, dest, watch, parallel} = require('gulp');
const fileInclude = require('gulp-file-include');
const sass = require('gulp-sass')(require('sass'));
const server = require('gulp-server-livereload');
const clean = require('gulp-clean');
const fs = require('fs');
const sourceMaps = require('gulp-sourcemaps');
const plumber = require('gulp-plumber');
const notify = require('gulp-notify');
const babel = require('gulp-babel');
const imagemin = require('gulp-imagemin');
const changed = require('gulp-changed');

task('html', () => {
    return src('./src/*.html')
        // return src(['./src/*.html', '!./src/*.html']) // исключает файл
        .pipe(changed('./dist/'))
        .pipe(plumber({
            errorHandler: notify.onError({
                title: 'HTML',
                message: 'Error <%= error.message %>',
                sound: false,
            }),
        }))
        .pipe(fileInclude({
            prefix: '@@',
            basepath: '@file',
        }))
        .pipe(dest('./dist/'))
});

task('css', () => {
    return src('./src/css/*.css')
        .pipe(changed('./dist/css'))
        .pipe(plumber({
            errorHandler: notify.onError({
                title: 'Styles',
                message: 'Error <%= error.message %>',
                sound: false,
            }),
        }))
        .pipe(sourceMaps.init())
        .pipe(sass())
        .pipe(sourceMaps.write())
        .pipe(dest('./dist/css/'))
});

task('js', () => {
    return  src('./src/js/*.js')
        .pipe(changed('./dist/js'))
        .pipe(plumber({
            errorHandler: notify.onError({
                title: 'JS',
                message: 'Error <%= error.message %>',
                sound: false,
            })
        }))
        // .pipe(babel())
        .pipe(dest('./dist/js'))
});

task('fonts', () => {
    return  src('./src/fonts/**/*')
        .pipe(changed('./dist/fonts'))
        .pipe(dest('./dist/fonts'))
});

task('images', () => {
    return src('./src/images/**/*')
        .pipe(changed('./dist/images'))
        .pipe(imagemin({ verbose: true }))
        .pipe(dest('./dist/images'))
});

task('css2', () => {
    return src('./src/css2')
        .pipe(dest('./dist/'))
});

task('server', () => {
    return src('./dist/')
        .pipe(server({
            livereload: true,
            open: true,
        }));
});

task('clean', (done) => {
    if (fs.existsSync('./dist/')) {
        return src('./dist/', { read: false })
            .pipe(clean({ force: true }))
    }
    done();
});

task('watch', () => {
    watch('./src/**/*.html', series('html'));
    watch('./src/css/**/*.scss', series('css'));
    watch('./src/js/**/*.js', series('js'));
    watch('./src/fonts/**/*', series('fonts'));
    watch('./src/images/*', series('images'));
});

task('default', series(
    'clean',
    parallel('html', 'css', 'js', 'fonts', 'images', 'css2'),
    parallel('server', 'watch'),
))
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
smilingcheater
@smilingcheater
Откуда вы взяли такое его использование? В официальной доке нет примеров, где параметром передаётся объект, либо пустые параметры, либо массив оптимизаторов.
https://github.com/sindresorhus/gulp-imagemin

Объект с параметрами может быть передан только 2 аргументом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы