dicem
@dicem

Почему gulp watch не реагирует на новые файлы?

Код:
const gulp			= require('gulp'),
	  concat		= require('gulp-concat'),
	  cleanCSS		= require('gulp-clean-css'),
	  less			= require('gulp-less'),
	  autoprefixer 	= require('gulp-autoprefixer'),
	  rewriteCSS	= require('gulp-rewrite-css'),
	  path			= require('path')

gulp.task('default', function() {
	gulp.src('./less/**/*.less')
		.pipe( concat('General.less'))
		.pipe( less({
			paths: [ path.join(__dirname, 'less', 'includes') ]
		}))
		.pipe( autoprefixer({
			overrideBrowserslist: ['>1% in RU', 'ie 11'],
			grid: true,
			cascade: false
		}))
		.pipe( cleanCSS({ level: 2 }))
		.pipe( gulp.dest('./assets/styles/'))
})

gulp.task('rewrite', function() {
	gulp.src('./assets/styles/General.css')
		.pipe( rewriteCSS({destination:'./assets/styles/'}))
})

gulp.watch('less/**/*.less', gulp.series(['default', 'rewrite']))


Почитал, что новые версии gulp могут реагировать на новые файлы, однако glob в gulp.watch не должен содержать './'
В итоге новые файлы вобще не воспринимаются. Что делать?! ПАМАГИТИ!
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
dicem
@dicem Автор вопроса
Собственно все оказалось гораздо проще. Таск выполнялся на самом деле только один раз и застывал в ожидании колбэка.
Валидный код:
const gulp			= require('gulp'),
	  concat		= require('gulp-concat'),
	  cleanCSS		= require('gulp-clean-css'),
	  less			= require('gulp-less'),
	  autoprefixer 	= require('gulp-autoprefixer'),
	  rewriteCSS	= require('gulp-rewrite-css'),
	  path			= require('path')

gulp.task('default', function(done) {
	gulp.src('./less/**/*.less')
		.pipe( concat('General.less'))
		.pipe( less({
			paths: [ path.join(__dirname, 'less', 'includes') ]
		}))
		.pipe( autoprefixer({
			overrideBrowserslist: ['>1% in RU', 'ie 11'],
			grid: true,
			cascade: false
		}))
		.pipe( cleanCSS({ level: 2 }))
		.pipe( gulp.dest('./assets/styles/'))

	done()
})

gulp.task('rewrite', function(done) {
	gulp.src('./assets/styles/General.css')
		.pipe( rewriteCSS({destination:'./assets/styles/'}))

	done()
})

gulp.watch('less/**/*.less', gulp.series(['default', 'rewrite']))


Пофиксилось с добавлением
function(done) {
...
...
done()
}

в функции таска
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы