gulp / gulp-nodemon - Nodemon никогда не запускается - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь настроить задачу serve, которая будет выполнять следующие действия:

  1. Вызовите задачу watch, чтобы отслеживать любые изменения в источнике.(задача наблюдения вызывает задачу build, которая встраивает приложение в папку «build»)
  2. Запустите приложение с помощью Nodemon (gulp-nodemon)
  3. Если произойдет изменение источника - перестройтеприложение и перезапустите nodemon

Пока что я написал следующие задачи:

gulp.task('build', gulp.series(['lint'], () => {
    del.sync(['./build/**/*.*']);
    const tsCompile = gulp.src('./src/**/*.ts')
        .pipe(gulpSourcemaps.init())
        .pipe(project());

    return tsCompile.js.pipe(gulpSourcemaps.write({
        sourceRoot: file => path.relative(path.join(file.cwd, file.path), file.base)
    }))
    .pipe(gulp.dest('./build/'));
}));

gulp.task('watch', gulp.series(['build'], () => {
    gulp.watch('./src/**/*.ts', gulp.series(['build']));
}));

gulp.task('serve', gulp.series(['watch'], () => {
    return gulpNodemon({
        script: './build/index.js',
        watch: './build/'
    });
}));

Текущее поведение задач:

  1. Я запускаю приложение, набирая gulp serve
  2. Вызывается задача watch, и она работает как положено
  3. Nodemon не запускается, и процесс застревает в задаче watch.Если я изменю любой исходный код, будет вызвана задача watch.

В основном Nodemon не запускается, и работает только задача watch.

IЯ не могу понять, почему происходит следующее поведение, и я хочу спросить, знает ли кто-нибудь, в чем может быть проблема?

1 Ответ

0 голосов
/ 29 января 2019

Использование запускает задачу watch в серии .

Однако задача watch не заканчивается, поэтому nodemon никогда не запускается.

Попробуйте использовать gulp.parallel() вместо gulp.series():

gulp.task('serve', gulp.parallel('watch', () => {
  return gulpNodemon({
    script: './build/index.js',
    watch: './build/'
  });
}));

Надеюсь, это должно решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...