Gulp:为什么我的 'clean' 任务无法使用回调函数工作?

Gulp: Why my 'clean' task don't work using the callback function?

我的gulp文件在上面:

var gulp = require('gulp');

var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var del = require('del');

gulp.task('clean', function(cb) {
    del(['dist/*.js'], cb);
});

当我运行'gulp clean'时,我的输出是:

[12:45:05] Using gulpfile

[12:45:05] Starting 'clean'...

命令删除dist文件夹中的文件

如果我去掉回调函数,结果是:

gulp.task('clean', function() {

    del(['dist/*.js']);

});

[12:54:07] Using gulpfile 

[12:54:07] Starting 'clean'...

[12:54:07] Finished 'clean' after 4.

回调函数我做错了什么?

此致。

del node.js模块不接受任何回调函数作为参数。

查看 npmjs.com 上的文档以获取更多详细信息: https://www.npmjs.com/package/del

del 本身 return 是一个承诺,因此如果您想将它与回调一起使用,您必须执行以下操作:

del(['dist/*.js']).then(function(paths) {
    cb(paths);
});

或者:

del(['dist/*.js']).then(cb);

paths 是删除的数组 folders/files.

还有del.sync,它不是return一个promise,而是一个删除的数组folders/files。