咕嘟咕嘟的手表不看

以下是我的gulpfile.js。 还有几个任务,所有的工作都很好 – 但最后一个任务, watch不到。

我已经试过了path和文件的所有可能的组合,但是我仍然没有运气。 我在这里读了很多答案,但是解决不了我的问题。 我试图运行gulp.watch和不需要吞咽手表,尝试了几种不同的方法来设置任务,等等…

 var gulp = require('gulp'); var browserify = require('browserify'); var babelify = require('babelify'); var source = require('vinyl-source-stream'); var watch = require('gulp-watch'); gulp.task('application', function() { return browserify('./public/resources/jsx/application.js') .transform(babelify, { stage: 0 }) .bundle() .on('error', function(e){ console.log(e.message); this.emit('end'); }) .pipe(source('appBundle.js')) .pipe(gulp.dest('./public/resources/jsx')); }); gulp.task('watch', function() { gulp.watch('./public/resources/jsx/project/*.js',['application']) }); 

有人可以提出解决scheme吗?

编辑:

这是控制台输出:

 michael@michael-desktop:/opt/PhpstormProjects/app_april_2015$ gulp watch [23:05:03] Using gulpfile /opt/PhpstormProjects/app_april_2015/gulpfile.js [23:05:03] Starting 'watch'... [23:05:03] Finished 'watch' after 13 ms 

你应该return看:

 gulp.task('watch', function() { return gulp.watch('./public/resources/jsx/project/*.js',['application']) }); 

watch是一个async方法,所以唯一的办法是Gulp可以知道发生了什么事情,如果你返回一个promise ,哪个手表。

编辑

正如@JMM所说, watch不会返回承诺。 它返回一个EventEmitter 。