Предотвращение завершения процесса при выполнении задачи gulp (чтобы сервер оставался включенным)

#node.js #gulp

#node.js #gulp

Вопрос:

У меня есть задача gulp, которая запускает сервер:

 gulp.task('my-task', ['start-server'], function() {});
 

Задача gulp start-server регистрирует прослушивателя:

 process.on('exit', function () {
    server.stop();
});
 

Но я хочу, чтобы сервер оставался открытым. Немного похоже gulp-watch на то, что задача остается «открытой».

В настоящее время AFAICT Node.js процесс, выполняющий задачу gulp, завершает работу по завершении задачи gulp и выводит сервер из строя вместе с ним.

Как я могу избежать завершения процесса и отключения сервера вместе с ним?

Ответ №1:

Это то, что gulp-nodemon должно было быть сделано: https://www.npmjs.com/package/gulp-nodemon

Пример реализации:

 gulp.task('develop', function () {
  nodemon({ script: 'server.js'
          , ext: 'html js'
          , ignore: ['ignored.js']
          , tasks: ['lint'] })
    .on('restart', function () {
      console.log('restarted!')
    })
})
 

Комментарии:

1. После прочтения документации мне неясно, как это интегрировать. Следующее поведение не изменилось. gulp.task('my-task', ['start-server'], function() { nodemon({}); }); Это не тот мониторинг файлов, который мне нужен. Я хочу, чтобы процесс gulp не завершался, пока я не убью его вручную.