1. 程式人生 > 其它 >gulp報錯:The following tasks did not complete: myFirstGulp Did you forget to signal async completion?

gulp報錯:The following tasks did not complete: myFirstGulp Did you forget to signal async completion?

技術標籤:問題解決node.js

問題截圖:

程式碼如下:

const gulp = require('gulp');
// const htmlmin = require('gulp-htmlmin');
gulp.task('myFirstGulp',()=>{
    console.log('我人生中的第一個gulp任務');
    gulp.src('./src/css/base.css')
        .pipe(gulp.dest('dist/css'));
  
});

原因:

我的gulp的版本是:+ [email protected],這是gulp4.0版本使用task時回撥函式使用匿名函式帶來的問題,gulp不再支援同步任務,下面是解決方法之一:向task的函式裡傳入一個名叫callback的回撥函式,以結束task任務,程式碼如下:

const gulp = require('gulp');
// const htmlmin = require('gulp-htmlmin');
gulp.task('myFirstGulp',(callback)=>{
    console.log('我人生中的第一個gulp任務');
    gulp.src('./src/css/base.css')
        .pipe(gulp.dest('dist/css'));
    callback();
  
});

執行成功:

想要了解更多參考:https://www.gulpjs.com.cn/docs/getting-started/async-completion/