Gulp执行build任务报错:build、copy-css任务未完成,提示未标记异步任务完成
Gulp执行build任务报错:build、copy-css任务未完成,提示未标记异步任务完成
嗨,我看到你在跑Gulp的build任务时遇到了这个棘手的报错,咱们来一步步捋清楚解决办法~
首先这个「Did you forget to signal async completion?」的错误,本质是Gulp没接收到任务完成的信号——要么是任务没返回流/Promise,要么是异步操作没调用done回调。
看你的代码,copy-css任务虽然写了return返回流,但里面的postcss()调用没传入任何插件参数,这会导致postcss无法正确处理CSS流,进而让Gulp识别不到任务完成的节点,最终整个build任务就卡壳了。
给你两个针对性的解决方向:
方法一:给postcss传入插件数组(哪怕是空数组)
修改你的copy-css任务,把postcss()改成postcss([]),如果之后需要用postcss的插件(比如autoprefixer),直接把插件加到数组里就行:
gulp.task('copy-css', function () { return gulp.src('src/main/resources/**/*.css') .pipe(postcss([])) // 传入空数组或你需要的postcss插件 .pipe(production(uglifycss())) .pipe(gulp.dest('target/classes/')); });
方法二:确认依赖插件都正确安装
有时候依赖缺失也会导致这类奇怪的异步问题,你可以在项目根目录运行一下:
npm install
确保gulp-postcss、postcss这些相关依赖都正确安装到位。
修改完之后再运行gulp build,应该就能顺利完成所有任务啦!
备注:内容来源于stack exchange,提问作者9527 snl
相关产品推荐
相关产品推荐

