2016-12-14 8 views
0

Gulpでは、ファイルの変更を待機するプロセスを待機させることができますが、が端末入力用にを受信できるようにしたいと考えています。たとえば、gulp-nodemonサーバーは端末に入力された「rs」をリッスンし、サーバーを再起動できます。gulp.watch()の実行中に端末入力を聞くにはどうすればよいですか?

例として、ファイル変更によってより特定のタスクが開始されるため、パッケージ全体を再構築するタスクを実行するために「rb」をリッスンするウォッチャを作成できます。

gulp-nodemonは既にそれが実行可能であることを証明しています。誰かがこれを独立してまたは構成可能にするパッケージまたはメソッドを知っているのだろうかと思います。

答えて

1

nodejs自体に付属のreadlineモジュールが必要です。着信データをprocess.stdinから聞いてみましょう。これは私がまさに必要である

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'); 
    } 
    }); 
}); 
+0

感謝を:

はここ(続いを入力してください)rbをリッスンする簡単な例だと、その後rebuildタスクを実行します。 – SimonStiph

関連する問題