Хочу найти аналог gulp-watch который бы перезапускал gulp при правках в самом gulpfile.js.
Нагуглить пока смог только такое решение
https://codepen.io/ScavaJripter/post/how-to-watch-...
Есть еще какие-то проверенные варианты?
Это решение у меня не заработало корректно (при обновлении gulpfile.js файл style.css не пересобирается).
Может где ошибся? Или есть более надежные альтернативы?
Код
/****************************************************************
Подключение зависимостей
*****************************************************************/
const gulp = require('gulp'); //gulp локально
const sass = require('gulp-sass');
const watch = require('gulp-watch'); //перезапуск задач по обновлению файлов (штатный watch может глючить при добавлении нового файла)
const sourcemaps = require('gulp-sourcemaps');
const concat = require('gulp-concat'); // Конкатенация файлов
const minifyCSS = require('gulp-csso');
const plumber = require('gulp-plumber');
const notify = require("gulp-notify");
/****************************************************************
CSS
*****************************************************************/
gulp.task('sass', function(){
gulp.src(['_sass/**/*+(.sass|.scss)'])
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError))
.pipe(concat('style.css'))
.pipe(minifyCSS({restructure: false}))
.pipe(sourcemaps.write())
.pipe(gulp.dest('css'));
});
/****************************************************************
Перезапуск задач по обновлению файлов
*****************************************************************/
gulp.slurped = false; // step 1
gulp.task("watch", function(){
if(!gulp.slurped){ // step 2
gulp.watch("gulpfile.js", ["default"]);
gulp.watch('_sass/**/*+(.sass|.scss)', ['sass']);
gulp.slurped = true; // step 3
}
});
/****************************************************************
ИТОГОВЫЕ ЗАДАЧИ
*****************************************************************/
// gulp
gulp.task('default', [
'sass',
'watch'
]);