Javascript 未调用Gulp.watch任务(Gulp 4.0.0)

Javascript 未调用Gulp.watch任务(Gulp 4.0.0),javascript,gulp,Javascript,Gulp,我刚刚将一个旧项目从Gulp3迁移到Gulp4.0.0。我无法使gulp.watch任务在我的watch功能中运行。我在Windows上运行 手表的功能如下: function watch(done) { gulp.watch(LAYOUTSFILES, copytosomelocation); gulp.watch(MODULEFILES, copymodulestosomelocation); gulp.watch(DLLFILES, gacdeploy); gulp.wat

我刚刚将一个旧项目从Gulp3迁移到Gulp4.0.0。我无法使gulp.watch任务在我的watch功能中运行。我在Windows上运行

手表的功能如下:

function watch(done) {
  gulp.watch(LAYOUTSFILES, copytosomelocation);
  gulp.watch(MODULEFILES, copymodulestosomelocation);
  gulp.watch(DLLFILES, gacdeploy);
  gulp.watch("./Styles/**/*.less", cssless);

  console.log("watching");
  done();
}
gulp.task("watch", ["webpack-watch"], () => { ... });
exports.watch = gulp.series('webpack-watch', watch);
位置的格式如下(在gulp 3中工作,因此位置至少是正确的):

这是要调用的第一个任务:

function copytosomelocation() {
  console.log("In copy");
  return gulp.src(LAYOUTSFILES)
    .pipe(fileCache.filter())
    .pipe(gulp.dest(OUTLAYOUTS));
}
在gulpfile的末尾,我有
exports.watch=watch

当我运行时,我得到以下输出:

[18:43:59] Using gulpfile 
D:\git\repo\folder\someproject\gulpfile.js
[18:43:59] Starting 'watch'...
watching
[18:43:59] Finished 'watch' after 17 ms
也就是说 -不复制任何文件 -没有从函数copytosomelocation记录到控制台的输出


我遗漏了什么?

我忽略了对新结构进行必要的任务依赖性更改

最初的watch功能结构如下:

function watch(done) {
  gulp.watch(LAYOUTSFILES, copytosomelocation);
  gulp.watch(MODULEFILES, copymodulestosomelocation);
  gulp.watch(DLLFILES, gacdeploy);
  gulp.watch("./Styles/**/*.less", cssless);

  console.log("watching");
  done();
}
gulp.task("watch", ["webpack-watch"], () => { ... });
exports.watch = gulp.series('webpack-watch', watch);
其中描述了对以下各项的依赖:

gulp.task('webpack-watch', (done) => {
  runWebpack(["-d"], true, done);
});

function runWebpack(params, watch, done) {
  params = params || [];
  params.push("--color");
  if (watch) {
    params.push("-w");
  }
  if (watch) {
    spawnCommand("webpack", params);
    done(); //return immidiately when watching
  } else {
    spawnCommand("webpack", params, done);
  }
}
如果没有这个功能,gulp正在监视一个目录,该目录只有在webpack watch运行时才会更新。我通过更新手表导出解决了这个问题,如下所示:

function watch(done) {
  gulp.watch(LAYOUTSFILES, copytosomelocation);
  gulp.watch(MODULEFILES, copymodulestosomelocation);
  gulp.watch(DLLFILES, gacdeploy);
  gulp.watch("./Styles/**/*.less", cssless);

  console.log("watching");
  done();
}
gulp.task("watch", ["webpack-watch"], () => { ... });
exports.watch = gulp.series('webpack-watch', watch);