Задачи Gulp.watch не называются (gulp 4.0.0) - PullRequest
0 голосов
/ 03 октября 2019

Я только что перенес старый проект с gulp 3 на gulp 4.0.0. У меня проблемы с запуском задач gulp.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 3, поэтому местоположения, по крайней мере, правильные):

let LAYOUTSFILES = [
  "./Folder/Project/**/*.*"
];

Это первая вызываемая задача:

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.

Чего мне не хватает?

1 Ответ

0 голосов
/ 04 октября 2019

Я забыл внести необходимые изменения зависимостей задачи в новую структуру.

Оригинальная функция наблюдения была структурирована следующим образом:

gulp.task("watch", ["webpack-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. Я решил эту проблему, обновив экспорт часов следующим образом:

exports.watch = gulp.series('webpack-watch', watch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...