Answer the question
In order to leave comments, you need to log in
How to fix drain error when using gulp?
using gulp 4, chrome.
here is gulp.js code
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: '[email protected]',
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)
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question