Задать вопрос
buddy_developer
@buddy_developer
junior web developer

Когда пытаюсь собрать проект не сжимается js из за ошибки: TypeError: pipeline is not a function в чем причина?

var gulp                     = require('gulp'),
      browserSync             = require('browser-sync').create(),
      sass                          = require('gulp-sass'),
      autoprefixer             = require('gulp-autoprefixer'),
      cleanCSS                  = require('gulp-clean-css'),
      rigger                       = require('gulp-rigger'),
      uglify                       = require('gulp-uglify'),
      pipeline                   = require('readable-stream').pipeline, 
      imagemin                = require('gulp-imagemin'), 
      cache                       = require('gulp-cache'), 
      imageminZopfli       = require('imagemin-zopfli'), 
      imageminPngquant  = require('imagemin-pngquant'), 
      imageminMozjpeg   = require('imagemin-mozjpeg'), 
      imageminGiflossy    = require('imagemin-giflossy');


// сервер и отслеживающие файлы
gulp.task('serve', ['sass'], function() {

  browserSync.init({
      server: {
        baseDir: "./app"
    }
  });
  gulp.watch("app/sass/*.scss", ['sass']);
  gulp.watch("app/js/*.js").on('change', browserSync.reload);
  gulp.watch("app/*.html").on('change', browserSync.reload);
});

// автокомпиляция сасс
gulp.task('sass', function() {
  return gulp.src("app/sass/*.scss")
      .pipe(sass())
      .pipe(gulp.dest("app/css"))
      .pipe(browserSync.stream());
});

// автопрефиксер
gulp.task('default', function () {
  return gulp.src('app/css/*.css')
      .pipe(autoprefixer({
          browsers: ['last 2 versions'],
          cascade: false
      }))
      .pipe(gulp.dest('css'));
});

// Ужимаем css
gulp.task('minify-css', function () {
  return gulp.src('app/css/*.css')
    .pipe(cleanCSS({compatibility: 'ie8'}))
    .pipe(gulp.dest('prodact/assets/style/'));
});

// Ужимаем JS
gulp.task('compress', function () {
  return pipeline(
        gulp.src('app/js/*.js'),
        uglify(),
        gulp.dest('prodact/assets/js/'));
});

// ужимаем изображения
gulp.task('gulp-imagemin', function () {
  return gulp.src('app/images/**/*.{gif,png,jpg}')
  .pipe(cache(imagemin([
    //png
    imageminPngquant({
        speed: 1,
        quality: [0.95, 1] // настройки с потерями
    }),
    imageminZopfli({
        more: true,
        iterations: 50 // очень медленно, но более эффективно
    }),
    imageminGiflossy({
        optimizationLevel: 3,
        optimize: 3, // keep-empty: сохранить пустые прозрачные рамки
        lossy: 2
    }), 
    //svg
    imagemin.svgo({
        plugins: [{
          removeDimensions: true,
            removeAttrs: true,
            removeElementsByAttr: true,
            removeStyleElement: true,
            removeViewBox: false
        }]
    }),
    //jpg не имеющий потерь
    imagemin.jpegtran({
        progressive: false
    }),
    //jpg очень легкие потери, используйте против jpegtran
    imageminMozjpeg({
        quality: 70
    })
])))
      .pipe(gulp.dest('prodact/assets/images/'));
});

gulp.task('default', ['serve','gulp-imagemin','minify-css', 'compress']);
  • Вопрос задан
  • 709 просмотров
Подписаться 1 Средний 6 комментариев
Решения вопроса 1
Eridani
@Eridani
Мимо проходил
pipeline = require('readable-stream').pipeline,
Ничего не смущает после рекваира?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
buddy_developer
@buddy_developer Автор вопроса
junior web developer
Проблема решилась исправлениями:
pipeline = require('readable-stream').pipeline убрал (.pipeline)

var pipeline = require('readable-stream');

и не большие правки в таске сжатия
gulp.task('compress', function() {
return gulp.src('app/js/*.js')
.pipe(uglify())
.pipe(gulp.dest('prodact/assets/js/'));
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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