我有一个gulp git任务执行结账,因此会更改当前正在运行的目录。
我还有重新编译已更改文件的gulp watch任务。
如果有任何监视任务正在运行,我不想运行git任务..它会重新编译新分支中的文件。
有没有办法检测gulp watch任务是否正在运行?如果是这样,我可以通过警告消息退出git任务。
答案 0 :(得分:1)
您可以将gulp-if plugin用于此
例如,创建变量isWatching
,在运行watch
任务时,将其设置为true
然后,在运行git的任务中,您可以执行:if(!isWatching, runGit)
,其中runGit将是一个执行git任务或其他任务的函数
答案 1 :(得分:0)
使用环境变量求解
gulp.task("build-typescript", () => {
if (process.env.IS_GULP_WATCH !== 'true') {
// this is gulp watch
}
else
{
// this is not gulp watch
}
});
gulp.task('watch-typescript', () => {
process.env.IS_GULP_WATCH = 'true';
// watch files
});