2014-02-25 2 views
2

gulp-notify 플러그인을 사용하고 있습니다. 이것은 gulpfile.js에서 구현하는 방법의 예입니다 (gutil과 livereload도 사용하고있는 것을 볼 수 있습니다. 어떤 요소를 사용하는지는 모르지만 나에게 알리십시오).gulp-notify가 Windows에서 gulp-watch를 중단하지 못하게하려면 어떻게해야합니까?

gulp.task('js', function() { 
    return gulp.src('./dev/scripts/*.coffee') 
    .pipe(coffee({bare: true}).on('error', gutil.log)) 
    .pipe(gulp.dest('./build/js')) 
    .pipe(notify('Coffeescript compile successful')) 
    .pipe(livereload(server)); 
}); 

이 플러그인은 OS X 및 Linux에서 작동합니다. 알림 기능이없는 Windows에서는 오류를 반환하고 gulp-watch 플러그인을 중단합니다. 이것은 내가 어떻게 꿀꺽 시계 설정의 예입니다 : 그래서

gulp.task('watch', function() { 
    server.listen(35729, function (err) { 
    if (err) { 
     return console.log(err); 
    } 
    gulp.watch('./dev/scripts/*.coffee',['js']); 
    }); 
}); 

, 나는이 문서에서 읽은 꿀꺽 파이프 플러그인 때 Windows에서 나를 꿀꺽 시계를 아프게하지 도움이 될 수 있습니다,하지만 난 찾을 수 없습니다 이런 설정에서 내가 어떻게 사용할 수 있는지에 대한 예제.

+1

지금 꿀꺽 - 통지가 자동으로 실패, 옵션과 함께 그래서 경우 오류를 잡으려고 고르다. 옵션 emitError (https://github.com/mikaelbr/gulp-notify#optionsemiterror) – mikaelb

답변

7

당신은 당신이 윈도우에있는 경우, 다음과 같이, gulp-notify을 제외 결정하기 위해 os node module와 함께 the gulp-if plugin를 사용할 수 있습니다

var _if = require('gulp-if'); 

//... 

// From http://stackoverflow.com/questions/8683895/variable-to-detect-operating-system-in-node-scripts 
var isWindows = /^win/.test(require('os').platform()); 

//... 

    // use like so: 
    .pipe(_if(!isWindows, notify('Coffeescript compile successful'))) 
+0

참고 : Windows 테스트는 [여기에서] (http://stackoverflow.com/questions/8683895/variable-to-detect)입니다. -operating-system-in-node-scripts)하지만 작동하는지 확인할 수는 없습니다. – OverZealous

+0

감사합니다. 나는 실패한 경우에 꿀꺽 꿀꺽 거리며이 접근법을 시도했다는 것을 언급하지 않았다. 다른 사람이 시도해보고 작동 시키면 알려주십시오. 나는 뭔가 잘못하고 있을지도 모른다. – harrypujols

+0

죄송합니다. 쉽게 테스트 할 수있는 것이 아닙니다. 'gulp-if'를 사용하는 경우 notifier가 호출되어서는 안되기 때문에 에러가 보이지 않아야합니다. 정확한 질문을 포함하도록 원래 질문을 편집 할 수 있습니까? – OverZealous

관련 문제