Madeas
@Madeas
UI / UX Designer, Frontend Developer

В чем косяк обработки тасков?

Всем привет!

У меня очередной вопрос по настройке тасков... Такое дело, не пойму в чем проблема.

Предисловие:
1. Работаю в Вижле, с использованием Live Server и Live Sass Compiler
2. настроил галпфайл, подключил таски для PUG, SASS, JS:

spoiler

gulp.task('pug', function buildHTML() {
    return gulp.src('build/pug/pages/*.pug')
        .pipe(pug({pretty: true}))
        .pipe(gulp.dest('.'))
});


gulp.task('sass', () => {
    return gulp.src(['global.css', 'aside.css'].map(file => `build/css/${file}`))
        .pipe(sourcemaps.init())
        .pipe(concat('style.css'))
        .pipe(mmq({log: true}))
        .pipe(cleanCSS()) //- minify css
        .pipe(rename({suffix: ".min"}))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('css'))
});


gulp.task('scripts', () => {
    return gulp.src('build/js/*.js')
        .pipe(sourcemaps.init())
        .pipe(babel({presets: ['@babel/preset-env']}))
        .pipe(concat('scripts.js'))
        .pipe(uglify()) //- minify js
        .pipe(rename({suffix: ".min"}))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('js'))
});



Работают нормально. Затем, подключил отслеживание:

gulp.task('component-assembly', function () {
    gulp.watch('build/pug/pages/*.pug'), gulp.series('pug');
    gulp.watch('build/css/*.css'), gulp.series('sass');
    gulp.watch('build/js/*.js',  gulp.series('scripts'));
});

gulp.task('watch', gulp.parallel('pug', 'sass', 'scripts', 'component-assembly'));


Тут начинаются проблемы:

Запускаю в терминале gulp watch - таск работает, но не обрабатывает как надо. Вернее он запускается и даже срабатывает "первая фаза", но при последующих изменениях в файлах ничего не происходит. Т.е. таск будто зависает, хотя в терминале отслеживание как бы продолжается.

> watch: Finished 'pug' after 934 ms
> watch: Finished 'scripts' after 1.08 s
> watch: Finished 'sass' after 1.12 s


После новых изменений приходится:
1. отрубать терминал и запускать снова
2. в VSCode через плагин Gulp Tasks жать Рестарт

Подскажите, в чем проблема? Может таски не правильно настроил, может просто вижла тормозит или еще что?
  • Вопрос задан
  • 295 просмотров
Решения вопроса 1
megafax
@megafax
web-программист
gulp.serial(
  gulp.parallel('pug', 'sass', 'scripts'), 
  'component-assembly'
)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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