Всем привет!
У меня очередной вопрос по настройке тасков... Такое дело, не пойму в чем проблема.
Предисловие:
1. Работаю в Вижле, с использованием
Live Server и
Live Sass Compiler
2. настроил галпфайл, подключил таски для PUG, SASS, JS:
spoilergulp.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 жать Рестарт
Подскажите, в чем проблема? Может таски не правильно настроил, может просто вижла тормозит или еще что?