0

こんにちは、ソリューションをリントし、リント プロセスでエラーが発生した後に失敗する次の gulp タスクがあります。テキストで失敗し、ヒープに落ちるだけでなく、これを実装する方法がわかりません。どんな助けでも大歓迎です。

gulp.task('lint-solution', function(done){
log('Linting solution')
return gulp.src(['../CRMPortal/**/*.js','../Common/**/*.js','!../Common/scripts/**/*','!../node_modules/**','!../CRMPortal/dist/**','!../CRMPortal/gulpfile.js'])
  .pipe($.eslint({configFile: ".eslintrc.json"}))
  .pipe($.eslint.format(
    reporter, function(results){
      fs.writeFileSync(path.join(__dirname,'report.html'), results);
    }
  ))
  .pipe($.eslint.failAfterError()); <-- I want text I provide to be printed on error here should that be the case , not just the error
})

現時点で(明らかに)私が得るのは次のとおりです:

Message:
Failed with 1 error
4

1 に答える 1

1

次の行は変更できません。

Message:

この行は、エラーが発生するたびに gulp 自体によって出力されます。エラー自体を抑制しない限り、エラーを抑制することはできません。この場合、エラーが発生してもタスクは失敗しません。

ただし、この行は変更できます。

Failed with 1 error

この行は、によって発行されるエラー オブジェクトに格納されgulp-eslintます。.on('error')ストリームにハンドラーを登録することでエラー オブジェクトにアクセスし、エラーが によって発行された場合はメッセージを変更できgulp-eslintます。

.pipe($.eslint.failAfterError()) 
.on('error', function(err) {
  if (err.plugin === 'gulp-eslint') {
    err.message = 'Oops';
  }
});

これにより、次が出力されます。

Message:
    Oops
于 2016-12-19T12:02:53.833 に答える