【发布时间】:2018-05-10 13:41:15
【问题描述】:
迁移到 Gulp 4 的人可能知道,gulp.series - 理应如此 - 如果系列中的任务未正确发出完成信号,则不会继续执行。
我的问题是它处理这种错误的方式——它只是控制台中的一条消息(你忘记发出异步完成信号了吗?); gulp 仍然以错误代码 0 退出。这意味着如果您在更复杂的构建脚本中运行 gulp,对于该脚本来说,看起来一切正常,并且 gulp 任务成功完成,但显然没有。 (相比之下,如果您使用gulpUtil.plugin error 抛出错误,则会产生非0 错误代码。)
所以我的问题是:您如何“从外部”检测到发生了此类错误?
- 在这种情况下,有没有办法让 gulp 以非 0 退出? (是否有我可以订阅并引发错误的事件,或者我可以设置的配置等)
- 我是否应该尝试检查应该生成的资产是否存在? (我发现这个解决方案非常脆弱。)
- 我是否应该“观察”控制台消息并查找特定字符串,例如“您忘记发出信号...”吗? (啊!)
- (是的,我知道我可以用 gulp 完成所有操作,然后我就不需要检查错误代码,但我们假设实际上我做不到。)
还有其他我没有想到的可能性吗?
【问题讨论】:
标签: terminal gulp error-code gulp-4