1つめの方法:gulp-notifyとgulp-plumberを併用します
ソースは以下です↓
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<span>const</span><span> </span><span>notify</span><span> = </span><span>require</span><span>(</span><span>'gulp-notify'</span><span>);</span> const plumber = require('gulp-plumber'); .pipe( plumber({ errorHandler:notify.onError({ title:'エラー発見!', message:'<%= error.message %>', // Macの通知音を指定しています sound:'Glass', }), }) ) |
併用すると、gulp-notifyがエラー時に通知してくれます。
notifyだけだと動作しない場合がありますので注意してください。
重要なのは、必ずplumberを使うことです。
通知が要らない場合、最低限のソースは以下です↓
最低限やっておくコード
1 2 |
const plumber = require('gulp-plumber'); .pipe(plumber()) |
2つめの方法:gulp-cachedを使ってキャッシュで止めます
ソースは以下です↓
1 2 |
const cached = require('gulp-cached'); .pipe(cached('cache')) |
例えば・・・こんな時に使ってます
csscombやprettierの処理を止めるために使ったりもできます↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
/* csscomb (scss) ---------------------------------*/ //combinit gulp.task('combinit', function (done) { gulp .src(paths.scssSrc) .pipe( plumber({ errorHandler: notify.onError({ title: 'エラーだよ!', message: '<%= error.message %>', // Macの通知音を指定しています sound: 'Glass', }), }) ) .pipe(csscomb()) // prettier .pipe(prettier({ scssoptions })) // prettier end <span style="color: #ff0000;"><strong>.pipe(cached('cache'))</strong></span> .pipe(debug({ title: 'initcomb: ' })) .pipe( notify({ title: 'いいね!エラーはないよ!', message: 'combinit success', // Macの環境音を指定しています sound: 'Tink', }) ) .pipe(gulp.dest(paths.scssDist)); done(); }); |