Gulp 4您是否忘记发出异步完成信号?

时间:2019-01-01 18:57:12

标签: gulp

我试图用gulp sass构建我的sass,但出现错误:

以下任务未完成:构建,清理  您是否忘记了异步完成的信号?

gulp.task('clean', function() { return del.sync('dist'); });

 gulp.task('build', gulp.series('clean', 'imagemin', 'sass', 'js', function(done) {

var buildMain = gulp.src([
    'app/*.html',
    'app/.htaccess'
]).pipe(gulp.dest('dist'));

var buildCss = gulp.src([
    'app/css/main.min.css'
    ])
.pipe(gulp.dest('dist/css'));

var buildJs =  gulp.src([
    'app/js/scripts.min.js'
    ])
.pipe(gulp.dest('dist/js'));

var buildFonts = gulp.src([
    'app/fonts/**/*'
    ])
.pipe(gulp.dest('dist/fonts'));
done(); }));

2 个答案:

答案 0 :(得分:1)

Sven Schoenung在此question中所说:

  

这是一个更适合您的用例的机制。请注意,大多数情况下,您不必自己创建Promise对象,它通常由包提供(例如,常用的del包返回Promise)。

我尝试了这种方法,对我来说正在工作。该代码将是:

gulp.task('clean:dist', function (resolve) {
  del.sync('dist');
  resolve();
})

答案 1 :(得分:1)

对于最新版本的 gulp,您可以使用:

export const build = series(clean, imagemin, sass, js);

不需要额外的包装函数。

https://gulpjs.com/docs/en/api/series/#usage