首页 > 技术文章 > gulp使用及报错Did you forget to singal async completion?解决

bocaimao 2020-10-21 08:43 原文

Gulp 是基于 node 实现 Web 前端自动化开发的工具。(自动化构建工具)

一. Gulp作用:

1.项目上线,Html,css,js文件压缩合并

2.语法转换(es6,less....)

3.公共文件抽离

4.修改问价浏览器自动刷新

简要:我在使用gulp压缩时,报错如下:

二.Gulp常用方法:

1.gulp.src()---获取任务要处理的文件

2.gulp.dest()---输出文件

3.gulp.task()--- 建立gulp文件

4. gulp.watch()--- 监控文件的变化

三.报错代码:

const gulp = require('gulp');
//gulp.task创建gulp文件
gulp.task('first',()=>{

    console.log('执行first gulp task');
    //gulp.src获取要处理的文件
    gulp.src('./src/alibaixiu.css')
        .pipe(gulp.dest('dist/css'));

});

报错:Did you forget to singal async completion?

 

 主要原因可能是代码中的函数存在异步机制,在Gulp 3.x中,这样做或许可以。如果未明确表示异步完成,则gulp会假设你的任务是同步的,并且一旦任务函数返回就完成了。

Gulp 4.x在这方面更严格。所以必须明确表示任务已完成。

只需要加return返回即可。

const gulp = require('gulp');
//gulp.task创建gulp文件
gulp.task('first',()=>{

    console.log('执行first gulp task');
    //gulp.src获取要处理的文件
    return gulp.src('./src/alibaixiu.css')  //此处解决报错
        .pipe(gulp.dest('dist/css'));

});

 

推荐阅读