在gulpfile Visual Studio 2015的npm del错误

我在我的gulp文件中使用del包作为干净任务的一部分。

以下是我正在使用的东西的版本Visual Studio 2015社区Node.js v2.11.3 gulp v3.9.0 del v2.0.2

这是从我的大文件提取:

var gulp = require('gulp'); var del = require('del'); var config = require('./gulp.config')(); var $ = require('gulp-load-plugins')({ lazy: true }); gulp.task('images', ['clean-images'], function () { log('Copying and compressing the images'); return gulp .src(config.images) .pipe($.imagemin({optimizationLevel: 4})) .pipe(gulp.dest(config.build + 'images')); }); gulp.task('clean-images', function (done) { clean(config.build + 'images/**/*.*', done); }); function clean(path, done) { log('Cleaning: ' + $.util.colors.blue(path)); del(path, done); } 

当我使用gulp images images从命令提示符运行任务imagesclean-images任务将执行,但永远不会结束。 它与行错误:

 [16:10:45] Using gulpfile ~\Documents\Visual Studio 2015\Projects\**\Gulpfile.js [16:10:46] Starting 'clean-images'... [16:10:46] Cleaning: build/images/**/*.* Process terminated with code 0. 

结果其余的images任务不会执行。

当我删除clean-images依赖项时, images任务运行良好。

不要以为有人曾经见过这个问题,并知道如何纠正?

谢谢

我想你已经遇到了与这个用户相同的错误: del模块不再使用callback,但承诺。 done不会被调用,所以cleanimages任务同时运行,这会导致错误。

你可以从干净的方法返回:

 gulp.task('clean-images', function () { return clean(config.build + 'images/**/*.*'); }); function clean(path) { log('Cleaning: ' + $.util.colors.blue(path)); return del(path); }