Gulp 4.你忘了发出异步完成的信号了吗?

xkftehaa  于 2022-12-08  发布在  Gulp
关注(0)|答案(2)|浏览(187)

我试图建立我的sass与gulp sass和我得到的错误:
以下任务未完成:build,clean您是否忘记发出异步完成信号?

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(); }));
llew8vvj

llew8vvj1#

就像Sven Schoenung在这question里说的:
这是一个更适合你的用例的机制。注意,大多数时候你不必自己创建Promise对象,它通常由一个包提供(例如,经常使用的del包返回一个Promise)。
我尝试过这种方法,对我来说是工作。代码将是:

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

g6ll5ycj2#

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

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

不需要额外的 Package 函数。
https://gulpjs.com/docs/en/api/series/#usage

相关问题