gulp报错The following tasks did not complete

    技术2024-01-22  110

    加粗样式@TOC

    gulp报错The following tasks did not complete 代码如下:

    复制代码 //引用gulp模块 const gulp = require(‘gulp’); //使用gulp.task()建立任务 gulp.task(‘first’, () => { console.log(‘第一个gulp任务执行了’);

    //要处理的文件 //将处理后的文件输出到dist目录下 gulp.src('./src/css/base.css') .pipe(gulp.dest('./dist/css'));

    }); 复制代码

    报错:

    [01:26:16] The following tasks did not complete: first [01:26:16] Did you forget to signal async completion?

    原因:

    这是gulp4.0版本使用task时,回调函数使用匿名函数带来的问题,gulpgulp不再支持同步任务

    解决方案有很多具体参考 https://www.gulpjs.com.cn/docs/getting-started/async-completion/

    比较简单的方法就是 添加callback,来指示函数完成

    即代码修改为:

    复制代码 //引用gulp模块 const gulp = require(‘gulp’); //使用gulp.task()建立任务 gulp.task(‘first’, (cb) => { console.log(‘第一个gulp任务执行了’);

    //要处理的文件 //将处理后的文件输出到dist目录下 gulp.src('./src/css/base.css') .pipe(gulp.dest('./dist/css')); cb();

    }); 复制代码

    运行结果如下:

    PS C:\Users\User\Desktop\nodejs\gulp-demo> gulp first [01:34:28] Using gulpfile ~\Desktop\nodejs\gulp-demo\gulpfile.js [01:34:28] Starting ‘first’… 第一个gulp任务执行了 [01:34:28] Finished ‘first’ after 9.06 ms PS C:\Users\User\Desktop\nodejs\gulp-demo>

    Processed: 0.011, SQL: 10