如何在Gulp任务内部无条件终止整个Gulp进程?
直接终止Gulp进程的解决方案
- 要彻底终止整个Gulp进程,直接调用Node.js内置的
process.exit()方法即可,它会立刻结束Gulp所在的Node.js进程,直接回到系统命令行提示符,完全不需要额外清理操作。 - 你之前用
throw new Error('ciao')只退出了watch监听回调,是因为Gulp会捕获任务内部的错误,仅终止当前回调的执行,不会结束整个Gulp进程的循环。
修改后的代码示例:
gulp.task('watch', function () { gulp.watch('…', function quit (cb) { // 直接终止整个Gulp进程 process.exit(); }); });
如果需要指定退出状态码,可以给process.exit()传入参数:
process.exit(0):表示正常退出(默认值)process.exit(1):表示异常退出,可用于标记错误场景
内容的提问来源于stack exchange,提问作者jamacoe
相关产品推荐
相关产品推荐

