2016-03-30 2 views
1

У меня есть Gulp, настроенный на экспресс-проект приложения, и он действительно хорошо наблюдает за моими файлами JS и набивает их, а затем вводит их в мой файл макета и все такое. Gulpfile.js также вводит зависимости для бауэров для меня, используя wiredep и другие файлы, которые я определил с помощью gulp-inject. Все это работает по плану.Gulp застрял в бесконечной петле

Однако, когда я добавляю задачу компиляции машинописного текста, я застреваю в бесконечном цикле. Есть ли что-то в моем файле, которое я пропускаю, чтобы это не могло случиться? Here's the link to the Gulpfile in a gist.

Благодарим за помощь!

ответ

0

У меня также была проблема с глотками и машинописными текстами. Gulp не дождался завершения задачи компиляции машинописного текста и начал просмотр файлов js, и по мере их создания моя страница обновлялась несколько раз.

Мне удалось решить эту проблему, создав и вернув обещание вместо потока.

var Q = require('q'); 

gulp.task('typescript', function() { 
    var d = Q.defer(); 

    var result = tsProject.src(paths.typescript) 
     .pipe(ts(tsProject)); 

    result.js.pipe(gulp.dest('server/public/app/')); 

    result 
     .on('end', d.resolve) 
     .on('error', d.reject); 

    return d.promise; 
}); 

Надеюсь, это может вам помочь.

+0

Спасибо за предложение. К сожалению, это не сработало для меня. То же самое происходит, оно просто теряется в бесконечном цикле. – pjlamb12

+0

Что это такое Q? – Sky

+0

[q] (https://github.com/kriskowal/q) является обещанием lib для js. Я обновил код, чтобы включить требуемый lib. – Lulylulu

Смежные вопросы