gulp手表不看

chr*_*con 1 javascript task node.js gulp

以下是我的gulpfile.js.其中还有几个任务,并且一切正常 - 但最后一项任务watch却没有.

我已经尝试了所有可能的路径和文件组合以及所有这些,但我仍然没有运气.我在这里已经阅读了很多答案,但无法解决我的问题.我尝试运行gulp.watch,不需要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'])
});
Run Code Online (Sandbox Code Playgroud)

有人可以提出解决方案吗?

编辑:

这是控制台输出:

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
Run Code Online (Sandbox Code Playgroud)

And*_*ena 5

你应该return看:

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

watch是一种async方法,所以Gulp可以知道发生了什么事情的唯一方法就是如果你回来了promise,哪一只手表呢.

编辑

正如@JMM所述,watch不会返回Promise.它返回一个EventEmitter.