如何禁用 gulp-watch 在启动任务时复制所有文件

How to disable gulp-watch to copy all files on start task

我有一个 gulp 观看任务是这样的:

gulp.src(devFiles, {base: gulpConfig.path.src})
  .pipe(watch(devFiles, {base: gulpConfig.path.src}))
  .pipe(gulp.dest(gulpConfig.path.public + "/"))

任务运行正常,但有一个问题: 当我启动任务时,这会将所有文件从源复制到目标。 我怎样才能禁用这种行为:我想要的复制文件是一项不同的任务,而这个只是为了观察文件的变化。 99% 的文件已经存在,所以我不需要在目标文件夹中再次复制。

我找到了这个解决方案(灵感来自 gulp-观看文档):

watch(devFiles, {base: gulpConfig.path.src, ignoreInitial: true, verbose: true}, function (obj) {
        gulp.src(obj.path, {base: gulpConfig.path.src})
            .pipe(gulpConfig.path.public + "/");
    });

其中 devFiles 是文件掩码数组,gulpConfig.path.src 是源路径,gulpConfig.path.public 是目标文件夹。 我从 2 天开始使用这段代码并且工作得很好。 现在我不必等待在启动 dev-watch 任务时完成加载 public 文件夹中的所有文件。