2016-03-30 32 views
1

我有一個Gulp安裝在一個快速應用程序項目上,它確實很好地監視了我的JS文件,並將它們注入並將它們注入我的佈局文件和所有內容。 Gulpfile.js還使用wiredep和我使用gulp-inject確定的其他文件爲我注入了bower依賴項。所有這些都按計劃進行。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)是js的承諾庫。我更新了代碼以包含所需的lib。 – Lulylulu