sadieff
@sadieff
Нажимаю клавиши в нужной последовательности

Почему plumber не помогает отловить ошибку в модуле gulp-jsx?

Разработчики, у меня такая проблема: начал изучать react. И решил настроить под это дело gulp. Настроил модуль gulp-jsx, чтобы jsx компилировать в js. Но проблема, код на jsfiddle.net отрабатывает без ошибок, а при попытке этот jsx прогнать через gulp он крашится из-за ошибки. Не получается отловить ошибку. Пытаюсь использовать gulp-plumber, но галп все равно крашится при сохранении jsx. А при ошибке в других модулях ошибка выводится нормально. Сейчас у меня jsx обрабатывается вот так:

gulp.task('jsx', function() {
	gulp.src('./src/jsx/*.js')
		.pipe(plumber())
	    .pipe(jsx({
	      factory: 'React.createElement'
	    }))
	    .pipe(concat('app.js'))
	    .pipe(gulp.dest('./build/js/'))
	    .pipe(reload({stream: true}));
});


Почему не получается отловить ошибку?
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
sadieff
@sadieff Автор вопроса
Нажимаю клавиши в нужной последовательности
Отловить ошибку с помощью plumber() отловить так и не удалось, но пошел другим путем: создал cmd файл для запуска gulp и добавил команду для вывода данных в файлы. В итоге у меня ошибки записались в файл log.err.
Содержимое cmd файла:
set OUTPUT="log"
if "%STDOUT_REDIRECTED%" == "" (
    set STDOUT_REDIRECTED=yes
    cmd.exe /c %0 %* >%OUTPUT%.std 2>%OUTPUT%.err
    exit /b %ERRORLEVEL%
)
gulp


P.S. От gulp-jsx отказался в пользу gulp-babel с плагином transform-react-jsx:
.pipe(babel({
            plugins: ['transform-react-jsx']
        }))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы