Windows에서 gulp-notify가 gulp-watch를 중단하는 것을 어떻게 방지합니까?
-
21-12-2019 - |
문제
나는 꿀꺽꿀꺽 알림 플러그인.이것은 gulpfile.js에서 어떻게 구현하는지에 대한 예입니다(gutil과 livereload도 사용하고 있음을 볼 수 있습니다.어떤 요인이 작용하는지 모르겠지만, 그렇다면 알려주세요.)
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-watch 설정 방법의 예입니다.
gulp.task('watch', function () {
server.listen(35729, function (err) {
if (err) {
return console.log(err);
}
gulp.watch('./dev/scripts/*.coffee',['js']);
});
});
그래서 문서에서 gulp-pipe 플러그인이 Windows에서 gulp-watch를 중단하지 않도록 도와줄 수 있다는 것을 읽었지만 이와 같은 설정에서 이를 어떻게 사용할 수 있는지에 대한 예를 찾을 수 없습니다.
해결책
당신이 사용할 수있는 그만큼 gulp-if
플러그인 와 결합하여 os
노드 모듈 Windows를 사용 중인지 확인하려면 제외하세요. gulp-notify
, 다음과 같습니다:
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')))
제휴하지 않습니다 StackOverflow