Часы Gulp вызывают бесконечный цикл сборки - PullRequest
1 голос
/ 01 апреля 2020

мои часы gulp продолжают восстановление после сохранения файла js, файл S css работает хорошо, проблема заключается в том, что при сохранении других файлов в папке проекта, изменении или замене изображений запускается и завершается восстановление sh сборка папки dist. только при сохранении файлов S css сборка начинается и заканчивается как принято.

вывод терминала:

[17:53:11] Starting 'js-build'...
[17:53:11] Finished 'js-build' after 452 ms
[17:53:11] Starting 'js-build'...
[17:53:12] Finished 'js-build' after 614 ms
[17:53:12] Starting 'js-build'...

пожалуйста, посоветуйте?

мой код глотка:

var gulp = require('gulp'),
    autoprefixer = require('autoprefixer'),
    babel = require('gulp-babel');
    uglify = require('gulp-uglify-es').default,
    cssnano = require('gulp-cssnano'),
    plumber = require('gulp-plumber'),
    gcmq = require('gulp-group-css-media-queries'),
    rename = require('gulp-rename'),
    pngquant = require('imagemin-pngquant'),
    cache = require('gulp-cache'),
    concat = require('gulp-concat'),
    del = require('del'),
    sass = require('gulp-sass'),
    scss = require('gulp-scss'),
    browserSync = require('browser-sync'),
    server = browserSync.create(),
    fileinclude = require('gulp-file-include');

function reload(done) {
    server.reload();
    done();
}

function serve(done) {
    server.init({
        server: {
            baseDir: './dist'
        }
    });
    done();
}

gulp.task('html', function() {
    return gulp.src('*.html')
        .pipe(fileinclude({
            prefix: '@@',
            basepath: '@file'
        }))
        .pipe(gulp.dest('dist'))
});

var scssFiles = [
    './scss/**/*.scss',
    '!./node_modules/**',
    '!./dist/**',
];

var jsFiles = [
    '**/*.js',
    '!./node_modules/**',
    '!gulpfile.js',
    '!./dist/**',
];

var imgFiles = [
    '**/*.{jpg,png,jpeg,svg,gif,ico}',
    '!./node_modules/**',
    '!./dist/**',
];

var fontFiles = [
    'fonts/**/*.*',
    '!./node_modules/**',
    '!./dist/**',
];

gulp.task('scss', function() {
    var postCSSplugins = [
        autoprefixer({ browsers: ['last 2 version'] }),
    ];

    return gulp.src(scssFiles)
        .pipe(sass())
        // .pipe(concat('app.css'))
        .pipe(plumber()) //if need unoptimezed file - comment this line
        .pipe(gcmq()) //if need unoptimezed file - comment this line
        .pipe(cssnano()) //if need unoptimezed file - comment this line
        .pipe(gulp.dest('dist/css/'))
        .pipe(server.stream()) //if need unoptimezed file - comment this line
});

gulp.task('js-build', function () {
    return gulp.src(jsFiles)
        .pipe(plumber())
        .pipe(babel({
            presets: ['@babel/env']
        }))
        .pipe(uglify())
        .pipe(gulp.dest('dist/'))
});

gulp.task('img', function() {
    return gulp.src(imgFiles)
        .pipe(gulp.dest('dist/'))
});

gulp.task('font', function() {
    return gulp.src(fontFiles)
        .pipe(gulp.dest('dist/fonts'))
});

gulp.task('watch', function() {
    gulp.watch(scssFiles, gulp.series('scss'), reload);
    gulp.watch('*.html', gulp.series('html'));
    gulp.watch(jsFiles, gulp.series('js-build'));
    gulp.watch(imgFiles, gulp.series('img'));
});

gulp.task('clean', function() {
    return del('./dist');
});

gulp.task('build', gulp.parallel('scss', 'html', 'js-build', 'img', 'font'));

gulp.task('serve', gulp.parallel('watch', serve));

gulp.task('default', gulp.series('clean', 'build', 'serve'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...