在gulp.watch()运行时,如何侦听终端输入?

在gulp.watch()运行时,如何侦听终端输入?,gulp,Gulp,在Gulp中,我可以让watch进程等待文件更改,但我也希望能够监听终端输入。例如,gulp nodemon服务器可以监听终端中键入的“rs”,然后重新启动服务器 例如,我希望能够创建一个监视程序,它将侦听“rb”以运行一个任务,该任务将重建整个包(因为文件更改将启动更具体的任务) gulp nodemon已经证明了它是可以做到的,我想知道是否有人知道一个包或方法可以独立地或配置地做到这一点。您所需要的只是nodejs本身附带的模块。它让您可以侦听来自process.stdin的传入数据 下面是

在Gulp中,我可以让watch进程等待文件更改,但我也希望能够监听终端输入。例如,gulp nodemon服务器可以监听终端中键入的“rs”,然后重新启动服务器

例如,我希望能够创建一个监视程序,它将侦听“rb”以运行一个任务,该任务将重建整个包(因为文件更改将启动更具体的任务)

gulp nodemon已经证明了它是可以做到的,我想知道是否有人知道一个包或方法可以独立地或配置地做到这一点。

您所需要的只是nodejs本身附带的模块。它让您可以侦听来自
process.stdin
的传入数据

下面是一个简单的示例,它侦听
rb
(后跟Enter),然后执行
rebuild
任务:

var gulp = require('gulp');
var readline = require('readline');

gulp.task('scripts', function() {
  //...
});

gulp.task('rebuild', function() {
  //...
});

gulp.task('watch', function() {
  gulp.watch('src/**/*.js', ['scripts']);

  var rl = readline.createInterface({input:process.stdin});
  rl.on('line', function(line) {
    if (line === 'rb') {
      gulp.start('rebuild');
    }
  });
});

谢谢,这正是我需要的。