Gulp clean/del 行为已经改变

2022-01-12 00:00:00 node.js javascript gulp

我的 gulpfile.js 的一部分

Part of my gulpfile.js

const del = require('del');
const chrome_dir = 'build/chrome';
const ff_dir = 'build/firefox';

gulp.task('clean', function (cb) {
    del([chrome_dir, ff_dir], cb);
});


gulp.task('default', ['clean'], function () {
    gulp.start('build packages', 'JS Backend', 'i18n', 'ExtRes', 'styles', 'JS Content', 'templates');
});

效果很好.
然后我安装了一个新系统,可能会有新版本的 gulp 和 del 等等.
现在 gulp 在清洁后停止.
我可以手动调用所有任务,效果很好.
只能是改变del的行为...

worked well.
Then I installed a new system and there maybe got new versions of gulp and del and whatever.
Now gulp stops after cleaning.
I can call all tasks manually, that's working fine.
Could only be a change in the behaviour of del...

我该如何解决这个问题?

How can I fix this?

推荐答案

v2 最重要的变化之一是它现在返回一个 Promise 而不是使用回调来处理异步.来自 del 文档.

One of the most important changes on v2 is that now it returns a Promise instead of using a callback to handle async. From del documentation.

您只需重新编写这部分代码:

You simply have to re-write this part of your code:

gulp.task('clean', function (cb) {
    del([chrome_dir, ff_dir], cb);
});

像这样:

gulp.task('clean', function () {
    return del([chrome_dir, ff_dir]);
});

相关文章