gulp-plumber,gulp-notify

watchで監視中にビルドでエラーが出るとwatchが中断してしまい、それに気づかずずっと作業を続けていてターミナル見たらだいぶ前から動いていなかったっていうことがあったのでgulp-plumberでエラーが出てもwatchが途切れないようにして、かつエラーが出たことをデスクトップ通知するようにgulp-notifyをインストールしました。

まずはgulp-plumber。

sudo npm install gulp-plumber --save-dev

gulpfile.jsに下記を追記します。

var plumber = require('gulp-plumber');

そして各タスクにpipeで差し込んであげれば完了です。

gulp.task('stylus', function() {
  gulp.src(['src/stylus/*.styl'])
    .pipe(plumber())//plumber追加
    .pipe(stylus())
    .pipe(gulp.dest('src/css/'));
});

次にgulp-notifyをinstall。

sudo npm install gulp-notify --save-dev

gulpfile.jsに下記を追記します。

var notify = require('gulp-notify');

plumberにはerrorHandlerというエラー内容をコンソールに出力するオプションがあるので、それをnotifyで拾ってデスクトップ通知するという仕組みです。
先ほど差し込んだplumberの部分を下記のようにします。

gulp.task('stylus', function() {
  gulp.src(['src/stylus/*.styl'])
    .pipe(plumber({
      errorHandler: notify.onError("Error: <%= error.message %>")
    }))
    .pipe(stylus())
    .pipe(gulp.dest('src/css/'));
});

これで完成です。

Daily | ,
  • faebookでリンクをシェアする
  • Twitterでリンクをあなたのフォロワーにお知らせする
  • pocketに入れる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>