gulp报错处理

总结在使用gulp中遇到的错误。

(1)报错信息: Task function must be specified

报错原因:根据官方文档理解的意思。在 “default” 右边的两个参数需要放在 gulp.series()  里面,如:gulp.task('default', gulp.series("copy-html"),()=>{})

错误写法举例:

gulp.task("default", ["copy-html"], function () {})

正确写法:

gulp.task('default', gulp.series(['htmlmin', 'cssmin', 'jsmin', 'copy']));

or

gulp.task("default", gulp.series("copy-html"), function () {});

(2)报错信息:Did you forget to signal async completion?

报错原因:因为gulp不再支持同步任务.因为同步任务常常会导致难以调试的细微错误,例如忘记从任务(task)中返回 stream。

解决办法:将回调函数改为异步方式。如 : async,await

错误写法举例:

gulp.task('copy', () => {  // 这里没有将回调函数改为异步形式,程序还在以同步执行
    gulp.src('./src/images/*')
        .pipe(gulp.dest('dist/images'));
});

正确写法:

// 官方提供的解决方案
gulp.task('copy', (done) => {

    gulp.src('./src/images/*')
        .pipe(gulp.dest('dist/images'));
    done()
});

// 使用 async、await
const gulp = require('gulp');
gulp.task('testGulp', async() => {
   await console.log('Hello World!');
});

..持续更新。

猜你喜欢

转载自www.cnblogs.com/RiverMap/p/12560228.html