gulp.watch错误:结束后写入

我得到不同的结果为不同的gulp.watch指令当我执行我的watch任务并且改变一个.html文件,一切工作正确(下面定义的任务)

但是当我改变任何其他文件(.coffee,.less等),我得到这个错误:

 stream.js:94 throw er; // Unhandled stream error in pipe. ^ Error: write after end at writeAfterEnd (/Users/oclement/Documents/phoenix/MedifastCerBrokenDown/MedifastWeb/AppSource/node_modules/gulp-filter/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:145:12) at Transform.Writable.write (/Users/oclement/Documents/phoenix/MedifastCerBrokenDown/MedifastWeb/AppSource/node_modules/gulp-filter/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:193:5) at Stream.ondata (stream.js:51:26) at Stream.emit (events.js:95:17)gulp.watch` 

观看任务

 gulp.task('watch', function() { isWatching = true; run('build', 'index', function() { g.util.log(g.util.colors.green('Starting to Watch')); gulp.watch('./app/**/*.html', ['templates']); gulp.watch('./app/**/*.coffee', ['phnxjs']); ... }); }); 

模板任务

 gulp.task('templates', function(done) { g.util.log(g.util.colors.green('---TEMPLATES---')); sourceStreams.templates() .pipe(buildWatchPipe()()) .pipe(g.ngHtml2js(options.templates)) .pipe(g.concat(destinations.templates.bundleName)) .pipe(g.if(isProd, transformScriptsProd())) .pipe(destinations.templates.target()) .pipe(g.if(isWatching, g.livereload())); done(); }); 

Phnxjs任务

 gulp.task('phnxjs', function(done) { g.util.log(g.util.colors.green('---PHNXJS---')); var wrapException = g.filter('!**/tags-input.js'); sourceStreams.phoenixScripts() .pipe(buildWatchPipe()()) .pipe(filters.coffee) .pipe(g.coffee(options.coffee)) .on('error', g.util.log) .pipe(filters.coffee.restore()) .pipe(wrapException) .pipe(iffeWrapper()) .pipe(wrapException.restore()) .pipe(g.if(!isProd, g.angularFilesort())) .pipe(g.if(isProd, transformScriptsProd())) .pipe(g.if(isProd, g.concat(destinations.phoenixScripts.bundleName))) .pipe(destinations.phoenixScripts.target()) .pipe(g.if(isWatching, g.livereload())); done(); });