Я работаю по курсу множественного числа на gulp. Джон Папа демонстрирует, как внедрить функцию, которая удаляет существующие файлы css, в подпрограмму, которая компилирует новые.
Обратный вызов функции del не запускается. Функция del запущена, файл удален, я не вижу сообщений об ошибках. Если я вызываю обратный вызов вручную, он выполняется, поэтому похоже, что функция находится в такте. Поэтому мне интересно, что может заставить del не хотеть выполнять обратный вызов.
удалить процедуру:
function clean(path, done) {
log('cleaning ' + path);
del(path, done); // problem call
}
Функция "done" не запускается, но если я изменю код на это:
function clean(path, done) {
log('cleaning ' + path);
del(path);
done();
}
Что, конечно, побеждает намеченную цель ожидания до завершения del, прежде чем продолжить.
Любые идеи о том, что происходит, будут оценены.
для справки (в случае необходимости):
скомпилировать функцию css:
gulp.task('styles', ['clean-styles'], function(){
log('compiling less');
return gulp
.src(config.less)
.pipe($.less())
.pipe($.autoprefixer({browsers:['last 2 versions', '> 5%']}))
.pipe(gulp.dest(config.temp));
});
введенная чистая функция:
gulp.task('clean-styles', function(done){
var files = config.temp + '/**/*.css';
clean(files, done);
});
UPDATE
Если кто-то еще сталкивается с этим, повторно просмотрел обучающее видео, и он использовал v1.1 del. Я проверил, и я использовал 2.x. После установки v 1.1 все работает.