Gulp 遇到的坑

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:UsersUserDesktop odejsgulp-demo> gulp first [01:34:28] Using gulpfile ~Desktop odejsgulp-demogulpfile.js
[01:34:28] Starting 'first'...
第一个gulp任务执行了
[01:34:28] Finished 'first' after 9.06 ms
PS C:UsersUserDesktop odejsgulp-demo>

摘自:https://www.cnblogs.com/sphjy/p/11538264.html

原文地址:https://www.cnblogs.com/by-DSL/p/12517817.html