2

ESlint タスクがエラーを検出したときに gulp-notify を使用しようとしていますが、Node.js ストリームの後にパイプで gulp-notify を参照する必要があるため、機能させることができません。

次のコードを使用して、部分的に「機能させる」ことができます。

return gulp.src([config.js.all, '!app/assets/scripts/vendor/**'])
.pipe(eslint())
.pipe(plumber())
.pipe(eslint.format())
.pipe(notify('Error!!!'))
.pipe(eslint.failAfterError());

ただし、エラーがある場合だけでなく、常にメッセージがスローされます。

次の構文を使用して、gulp-eslint でエラーを取得できます。

return gulp.src([config.js.all, '!app/assets/scripts/vendor/**'])
.pipe(eslint())
.pipe(plumber())
.pipe(eslint.format())
.pipe(notify('Error!!!'))
.pipe(eslint.result(function (result) {
    if(result.errorCount > 0){
        console.log('Error');
    }
}))
.pipe(eslint.failAfterError());

エラーがあると console.log が返されます。必要なのは、上記のコード内で通知を送信するために gulp-notify を作成することです。誰かが私を助けることができますか?

4

2 に答える 2

0

gulp-notify のドキュメントには、いくつかの例が示されています。あなたの場合、次のようになります。

return gulp.src([config.js.all, '!app/assets/scripts/vendor/**'])
.pipe(eslint())
.pipe(plumber())
.pipe(eslint.format())
.on("error",notify.onError('Error!!!'))
.pipe(eslint.failAfterError());
于 2016-03-24T18:48:11.103 に答える