2016-03-30 31 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