在gulp错误时恢复项目

Restore project on gulp error

本文关键字:恢复 项目 错误 gulp      更新时间:2023-09-26

我使用gulp来修改我的项目文件。

gulp.task('task1', function(){
    // change file1
});
gulp.task('task2', function(){
    // change file2
});

如果其中一个任务失败(由于错误),我需要恢复整个项目。

所以我计划做一个备份,在gulp的err事件,复制备份文件到我的项目。

gulp.on('err', function(err){
    // restore
});

但是如果有人在复制文件时按Ctrl + C,项目将无法完全恢复。修复的常用技术有哪些?

Gulp实际上是一个节点进程。Node有许多可以绑定到的事件。在你的情况下,你可能想要注册你的处理程序:exit, SIGINT和uncaughtException。

示例见答案

—edit—

按照Atrem的注释,似乎只有同步操作将保持(并且文档说明了这一点)。为了克服这个问题,您可能需要生成一个新进程来执行您需要执行的关闭操作。