@yura_born

Как исправить ошибку стока при использовании gulp?

использую gulp 4, chrome.
вот код gulp.js
var gulp       = require('gulp'), // Подключаем Gulp
    sass         = require('gulp-sass'), //Подключаем Sass пакет,
    scss         = require('gulp-scss'), //Подключаем gulp-scss пакет,
    browserSync  = require('browser-sync'), // Подключаем Browser Sync
    concat       = require('gulp-concat'), // Подключаем gulp-concat (для конкатенации файлов)
    uglify       = require('gulp-uglifyjs'), // Подключаем gulp-uglifyjs (для сжатия JS)
    cssnano      = require('gulp-cssnano'), // Подключаем пакет для минификации CSS
    rename       = require('gulp-rename'), // Подключаем библиотеку для переименования файлов
    del          = require('del'), // Подключаем библиотеку для удаления файлов и папок
    ftp          = require('vinyl-ftp'),
    gutil         = require('gulp-util' ),
    imagemin     = require('gulp-imagemin'), // Подключаем библиотеку для работы с изображениями
    pngquant     = require('imagemin-pngquant'), // Подключаем библиотеку для работы с png
    cache        = require('gulp-cache'), // Подключаем библиотеку кеширования
    autoprefixer = require('gulp-autoprefixer');// Подключаем библиотеку для автоматического добавления префиксов



gulp.task('sass', function() { // Создаем таск Sass
    return gulp.src(['src/wp-content/themes/ninazvereva/sass/**/*.sass',
                    'src/wp-content/themes/ninazvereva/sass/**/*.scss']) // Берем источник
        .pipe(sass().on('error', sass.logError))
        .pipe(sass()) // Преобразуем Sass в CSS посредством gulp-sass
        .pipe(autoprefixer(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], { cascade: true })) // Создаем префиксы
        .pipe(gulp.dest('src/wp-content/themes/ninazvereva/css')) // Выгружаем результата в папку app/css
        .pipe(browserSync.reload({stream: true})) // Обновляем CSS на странице при изменении
});



gulp.task('browser-sync', function() {
    browserSync({
        proxy: "zvereva.loc",
        notify: false,
        // open: false,
        // tunnel: true,
        // tunnel: "gulp-wp-fast-start", //Demonstration page: http://gulp-wp-fast-start.localtunnel.me
    })
});



gulp.task('scripts', function() {
    return gulp.src([ // Берем все необходимые библиотеки
        'node_modules/jquery/dist/jquery.min.js', // Берем jQuery
        // 'node_modules/popper.js/dist/popper.min.js', // Берем Popper
        'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js', // Берем Bootstrap
        'node_modules/slick-carousel/slick/slick.min.js'
    ])
        .pipe(concat('libs.min.js')) // Собираем их в кучу в новом файле libs.min.js
        .pipe(uglify()) // Сжимаем JS файл
        .pipe(gulp.dest('src/wp-content/themes/ninazvereva/js')) // Выгружаем в папку app/js
});



gulp.task('code', function() {
    return gulp.src('src/wp-content/themes/ninazvereva/**/*.php')
        .pipe(browserSync.reload({ stream: true }))
});



gulp.task('css-libs', function() {
    return gulp.src('src/wp-content/themes/ninazvereva/sass/libs.sass') // Выбираем файл для минификации
        .pipe(sass()) // Преобразуем Sass в CSS посредством gulp-sass
        .pipe(cssnano()) // Сжимаем
        .pipe(rename({suffix: '.min'})) // Добавляем суффикс .min
        .pipe(gulp.dest('src/wp-content/themes/ninazvereva/css')); // Выгружаем в папку app/css
});



// сжимаем картинки в папке images в шаблоне, и туда же возвращаем в готовом виде
gulp.task('imgmin-theme', function() {
    return gulp.src('src/wp-content/themes/ninazvereva/img/**/*')
        .pipe(cache(imagemin())) // Cache Images
        .pipe(gulp.dest('src/wp-content/themes/ninazvereva/img'));
});


// сжимаем картинки в папке uploads, и туда же возвращаем в готовом виде
gulp.task('imgmin-uploads', function() {
    return gulp.src('src/wp-content/uploads/**/*')
        .pipe(cache(imagemin())) // Cache Images
        .pipe(gulp.dest('src/wp-content/uploads'));
});


// Отгрузка всего сайта на хостинг

   


// Отгрузка или всего сайта, или какой то папки по SSH, настроите нужный путь сами
gulp.task('rsync', function() {
    return gulp.src('src/**')
        .pipe(rsync({
            root: 'src/',
            hostname: 'user123@domain.com',
            destination: 'www/domain.com/',
            // include: ['*.htaccess'], // Hidden files to include in the deployment
            recursive: true,
            archive: true,
            silent: false,
            compress: true
        }));
    // Documentation: https://pinchukov.net/blog/gulp-rsync.html
});


gulp.task('watch', function() {
    gulp.watch(['src/wp-content/themes/ninazvereva/sass/**/*.sass','src/wp-content/themes/ninazvereva/sass/**/*.scss'], gulp.parallel('sass')); // Наблюдение за sass файлами в папке sass в теме
    gulp.watch('src/wp-content/themes/ninazvereva/**/*.php', gulp.parallel('code'));
    gulp.watch('src/wp-content/themes/ninazvereva/js/common.js', gulp.parallel('scripts')); // Наблюдение за главным JS файлом и за библиотеками
});


gulp.task('default', gulp.parallel('css-libs', 'sass', 'scripts', 'browser-sync', 'watch'));


При запуске страницы все ок. Но после того как начинаешь изменять ширину страницы, все подвисает, спустя мину ту отвисает и появляется вот такая ошибка
libs.min.js:1 Uncaught RangeError: Maximum call stack size exceeded
    at Object.add (libs.min.js:1)
    at Object.<anonymous> (libs.min.js:1)
    at Function.Deferred (libs.min.js:1)
    at Object.then (libs.min.js:1)
    at he.fn.init.he.fn.ready (libs.min.js:1)
    at new he.fn.init (libs.min.js:1)
    at he (libs.min.js:1)
    at Object.t.initializeEvents (libs.min.js:1)
    at Object.t.init (libs.min.js:1)
    at Object.t.refresh (libs.min.js:1)


До этого постоянно висит еще и такая ошибка
Error: there is no product
    at prepareItemInfo (content.js:7529)
    at _callee$ (content.js:10641)
    at tryCatch (commons.js:8388)
    at Generator.invoke [as _invoke] (commons.js:8614)
    at Generator.prototype.<computed> [as next] (commons.js:8440)
    at multiShops_asyncGeneratorStep (content.js:10601)
    at _next (content.js:10603)


Что делать не знаю. Помогите кто чем может. 3 дня мучаюсь. Заранее спасибо.
  • Вопрос задан
  • 336 просмотров
Пригласить эксперта
Ответы на вопрос 1
Проверьте пакеты в зависимостях.

1) gulp-util
Пакет gulp-util в Gulp4 помечен deprecated.
Нет необходимости его устанавливать

2) gulp-uglifyjs
Странный пакет gulp-uglifyjs.
Скорее всего, именно он выдаёт ошибку
В NPM его вообще найти не удаётся. Да и при установке также выдаёт замечание о том, что данный пакет помечен deprecated
Замените его на gulp-uglify

P.S. Не очень понятно, какая тут взаимосвязь с браузерами.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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