2015-04-24 7 views
1

Мой gulpfile:Глоток задача с Бабелем и browserify + ошибки улавливающие

var gulp = require('gulp'); 
var babel = require('gulp-babel'); 
var browserify = require('gulp-browserify'); 

gulp.task('precompile', function() { 
    return gulp.src('app/assets/react/app.react.js') 
    .pipe(babel()) 
    .pipe(gulp.dest('app/assets/javascripts/')) 
}); 

gulp.task('browserify', ['precompile'], function() { 
    return gulp.src(['app/assets/javascripts/app.react.js']) 
    .pipe(browserify()) 
    .pipe(gulp.dest('app/assets/javascripts/')); 
}); 

gulp.task('watch', function() { 
    gulp.watch('app/assets/react/app.react.js', ['browserify']); 
}); 

Как я могу улучшить это, если это возможно? Может быть, я могу написать только одну задачу с браунированием + преобразовать (babelify) + console.log на ошибки? В этот момент, если у меня есть ошибка синтаксического анализа - просмотр gulp разбился.

+1

btw gulp-browserify плагин находится в черном списке –

ответ

1

Try сантехник

var plumber = require('gulp-plumber'); 

/** 
* Helper function to amend the pipe when a build task fails 
* see https://github.com/hughsk/vinyl-transform/issues/1 
* and: https://github.com/gulpjs/gulp/issues/259 
* @param {string} err the error string 
*/ 
function onError (err) { 
    gutil.beep(); 
    console.log(err); 
    this.emit('end'); 
} 

return gulp.src('app/assets/react/app.react.js') 
    .pipe(plumber({ 
      errorHandler: onError 
     })) 
    .pipe(babel()); 

проглатывать-browserify Также занесен в черный список. Вы можете следовать этому руководству для более гибкой настройки: https://medium.com/@sogko/gulp-browserify-the-gulp-y-way-bb359b3f9623

+0

Я пытаюсь использовать «gulp y way», но эта проблема остановила меня: https://github.com/substack/ node-browsify/issues/1191 У вас есть пример работы с винил-трансфром и проработать вместе? –

+0

Правильно кажется, что они снова сломали вещи в 9.0.6. Если вы привяжете браузеру к 8.x или даже, вероятно, к 9.0.4, вы, вероятно, будете в порядке. Моя настройка идентична некоторым комментариям к проблеме, поэтому она явно уязвима для 'b.bundle()' возвращения неопределенного поведения. –

+0

с 9.0.4 У меня есть ошибка «write after end», это мой простой файл gulpfile без babel - http://pastebin.com/Qwrmu6pL Любые комментарии?) Можете ли вы показать свой gulpfile? –