总结在使用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!'); });
..持续更新。