Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 狼吞虎咽的手表不';看不见_Javascript_Node.js_Task_Gulp - Fatal编程技术网

Javascript 狼吞虎咽的手表不';看不见

Javascript 狼吞虎咽的手表不';看不见,javascript,node.js,task,gulp,Javascript,Node.js,Task,Gulp,下面是我的gulpfile.js。它还有几个任务,而且都很好地工作——但是最后一个任务,watch没有 我已经尝试了各种可能的路径和文件组合,但还是没有运气。我在这里读了很多关于这个问题的答案,但无法解决我的问题。我试着运行gulp.watch,无论是否需要gulp-watch,尝试了几种不同的方法来设置任务等等 var gulp = require('gulp'); var browserify = require('browserify'); var babelify = require('

下面是我的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'])
});
有人能提出解决办法吗

编辑:

以下是控制台输出:

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
watch:

gulp.task('watch', function() {
    return gulp.watch('./public/resources/jsx/project/*.js',['application'])
});
watch
是一种
async
方法,因此Gulp知道发生了什么事情的唯一方法是返回一个
promise
,watch就是这样做的

编辑


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

您应该
返回
观察:

gulp.task('watch', function() {
    return gulp.watch('./public/resources/jsx/project/*.js',['application'])
});
watch
是一种
async
方法,因此Gulp知道发生了什么事情的唯一方法是返回一个
promise
,watch就是这样做的

编辑


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

您在做什么?什么不起作用?启动任务后,它会运行一次,完成时不会出错,但不会再次触发。不管我怎么处理这个文件@JMM“启动任务”的意思是吞下手表?“文件”是指
application.js
?“启动任务”是指启动gulp watch你在做什么?什么不起作用?启动任务后,它会运行一次,完成时不会出错,但不会再次触发。不管我怎么处理这个文件@JMM“启动任务”的意思是吞下手表?“文件”是指
application.js
?“开始任务”是指开始吞咽watch@andrerpena从任务中收回承诺只是指示任务何时完成的几种方法之一。而
gulp.watch()
被记录为返回一个EventEmitter。啊,就是这样。谢谢大家!@JMM。谢谢,我修好了。Michael,不客气。@andrerpena所以这就引出了一个问题:如果
gulp.watch()
返回一个EventEmitter,并且OP的控制台输出显示
watch
任务正在完成——返回
gulp.watch()
的您的答案是什么,有这种效果吗?@andrerpena从任务中重复承诺只是指示任务何时完成的几种方式之一。而
gulp.watch()
被记录为返回一个EventEmitter。啊,就是这样。谢谢大家!@JMM。谢谢,我修好了。Michael,不客气。@andrerpena所以这就引出了一个问题:如果
gulp.watch()
返回一个EventEmitter,并且OP的控制台输出显示
watch
任务正在完成,那么返回
gulp.watch()
的答案如何产生这种效果?