Gulp:为什么我的'干净'任务不能使用回调函数?

时间:2015-09-25 15:57:11

标签: gulp task del

我的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.

回调函数我做错了什么?

问候。

2 个答案:

答案 0 :(得分:2)

del 本身会返回一个承诺,所以如果您想将它与回调一起使用,则必须执行以下操作:

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

或者:

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

路径是已删除文件夹/文件的数组。

还有del.sync,它不会返回一个promise,而是一个已删除文件夹/文件的数组。

答案 1 :(得分:1)

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

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