2017-02-16 8 views
1

간단한 꿀꺽 꿀꺽함 작업을 만들어 내 ES6 파일의 변경 사항을 확인했습니다. 뭔가 잘못되었을 때 오류 메시지를 보여주고 싶습니다.꿀꺽 거리기 작업 완료시 성공 메시지 표시

오류 화면이 표시됩니다. 그러나 모든 것이 성공하면 다른 메시지를 보여 드리고자합니다..on('end') 메서드를 시도했지만 오류가있을 때도이 메서드가 호출됩니다.

나의 현재 Gulpfile은 다음과 같습니다

const gulp = require('gulp'); 
const babel = require('gulp-babel'); 
const uglify = require('gulp-uglify'); 
const pump = require('pump'); 
const imagemin = require('gulp-imagemin'); 
const sass = require('gulp-sass'); 
const DISTRIBUTION_PATH = 'public/theme/js/app'; 
const plumber = require('gulp-plumber'); 
const gutil = require('gulp-util'); 
const clear = require('clear'); 

gulp.task('transpile',() => 
    gulp.watch('theme/js/**/*.js',() => { 
     return gulp.src('theme/js/**/*.js') 
      .pipe(plumber()) 
      .pipe(babel({ 
       presets: ['es2015'], 
       plugins: [ 
        'transform-object-rest-spread' 
       ] 
      })) 
      .on('error', err => { 
       clear(); 
       gutil.log(gutil.colors.red('[Compilation Error]')); 
       gutil.log(err.fileName + (err.loc ? `(${err.loc.line}, ${err.loc.column}): ` : ': ')); 
       gutil.log(gutil.colors.red('error Babel: ' + err.message + '\n')); 
       gutil.log(err.codeFrame); 
      }) 
      .pipe(gulp.dest(DISTRIBUTION_PATH)); 
    }) 
); 

모든 아이디어를 어떻게 이것을 달성하기 위해?

+1

다음을 확인하십시오. https://www.npmjs.com/package/gulp-msg – Weedoze

+0

빠른 답장을 보내 주셔서 감사합니다! 그 플러그인을 알고 있지만 메시지 자체 만 처리합니다. 나는 실제로'on ('success',() => console.log ('Yay success!')) 콜백을 찾고있다. – Vernon

답변

2

답변이 조금 늦을 수는 있지만 Google 직원을위한 솔루션을 만들었습니다. boolean isSuccess를 추가하여 변환이 성공했는지 여부를 확인했습니다. isSuccess가 false가되어 "on end"메시지가 표시되지 않으면 오류가 발생합니다.

const gulp = require('gulp'); 
const babel = require('gulp-babel'); 
const uglify = require('gulp-uglify'); 
const pump = require('pump'); 
const imagemin = require('gulp-imagemin'); 
const sass = require('gulp-sass'); 
const DISTRIBUTION_PATH = 'public/theme/js/app'; 
const plumber = require('gulp-plumber'); 
const gutil = require('gulp-util'); 
const clear = require('clear'); 

gulp.task('transpile',() => 
    gulp.watch('theme/js/**/*.js',() => { 
     let isSuccess = true; 
     return gulp.src('theme/js/**/*.js') 
      .pipe(plumber()) 
      .pipe(babel({ 
       presets: ['es2015'], 
       plugins: [ 
        'transform-object-rest-spread' 
       ] 
      })) 
      .on('error', err => { 
       isSuccess = false; 
       clear(); 
       gutil.log(gutil.colors.red('[Compilation Error]')); 
       gutil.log(err.fileName + (err.loc ? `(${err.loc.line}, ${err.loc.column}): ` : ': ')); 
       gutil.log(gutil.colors.red('error Babel: ' + err.message + '\n')); 
       gutil.log(err.codeFrame); 
      }) 
      .pipe(gulp.dest(DISTRIBUTION_PATH)) 
      .on('end',()=> { 
       if(isSuccess) 
        console.log('Yay success!'); 
      }); 
    }) 
);