当文件夹不可用时,如何使gulp暂停?

问题描述 投票:1回答:1

通过将其添加到任务顶部,我能够避免该错误:

gulp.task("home", function() {
    // Added this code
    var fs = require("fs")
    if (!fs.existsSync(sourceFolder)) {
        console.log("Dist folder temporarily unavailable, probably building...")
        return gulp
    }
    // Original task
    return gulp
        .src(sourceFolder)
        .pipe(changed(destFolder))
        .pipe(gulp.dest(destFolder))
})

...

gulp.task("watch", function() {
    gulp.watch(sourceFolder, { interval: 500 }, gulp.series(["home"]))
})

但是现在,一旦构建过程完成并且dist文件夹又回来了,该任务不会再次触发

,因此不会将新文件复制到目标位置。我没有收到其他任何错误。

有什么想法吗?最好的说明是gulp.watch可能正在缓存sourceFolder的句柄,因此删除和重新创建文件夹会使它失去对文件夹的跟踪,因此看不到新的文件夹和文件。

我正在使用gulp监视多个文件夹中的更改并将它们同步到一组目的地。但是在构建过程中,我的一个源文件夹(“ dist”)被删除并重新创建,并且此...

vue.js gulp vue-cli gulp-watch
1个回答
0
投票

我实际上在清晨遇到了类似的问题,我认为您有两个选择

© www.soinside.com 2019 - 2024. All rights reserved.