Answer the question
In order to leave comments, you need to log in
Why is gulp watch not responding to new files?
The code:
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']))
'./'
Answer the question
In order to leave comments, you need to log in
Actually, everything turned out to be much simpler. The task was actually executed only once and froze in anticipation of the callback.
Valid code:
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()
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question