エラー処理をストリームに繋げる

デフォルトでは、ストリーム上でエラーが発生すると予めリスナーにエラーイベントを割り当てている場合を除き、それがスローされます。 これは、長いパイプラインを使用したストリームで作業している場合に、少し扱いづらいものになります。

stream-combiner2を使用することで、 一連のストリームを単一のストリームに変えることが可能で、これはコード内のひとつの箇所でerrorイベントをリッスンする必要があることを意味します。

下記はgulpfileでの使用例になります。

var combiner = require('stream-combiner2');
var uglify = require('gulp-uglify');
var gulp = require('gulp');

gulp.task('test', function() {
  var combined = combiner.obj([
    gulp.src('bootstrap/js/*.js'),
    uglify(),
    gulp.dest('public/bootstrap')
  ]);

  // 上記ストリーム内のエラーは、スローされる代わりに
  // このリスナーにキャッチされます。
  combined.on('error', console.error.bind(console));

  return combined;
});

 Back to top

© 2010 - 2017 STUDIO KINGDOM