在gulp.watch上重build项目不起作用

我有一个简单的构build步骤,我的项目主要是连接几个文件。 代码如下所示:

var gulp = require('gulp'); var p = require('gulp-load-plugins')(); var srcDir = 'src/'; var src=[/*some files here*/]; var header='',footer=''; gulp.task('build',function(){ gulp.src(src,{cwd:srcDir}) .pipe(p.concat('sdk.js')) .pipe(p.header(header)) .pipe(p.footer(footer)) .pipe(p.jshint()) .pipe(gulp.dest('dist/')); }); gulp.task('watch',function(){ gulp.watch('src/**/*.js',['build']); }); gulp.task('default',['build','watch']); 

第一个构build任务按预期工作,执行时间大约为550ms:

 [gulp] Starting 'build'... [gulp] Finished 'build' after 541 ms 

但是,当我更改src文件夹中的某些内容时,构build任务花费的时间很less,尽pipe我没有使用任何caching:

 [gulp] Starting 'build'... [gulp] Finished 'build' after 2.37 ms 

而且,这个任务不起作用 – dist目录不会改变。 不过,我注意到,当我杀了一口酒并再次运行它时,文件更新了。 我不知道这是否是吞咽或文件系统本身我不明白。

事实certificate,这个问题与吞噬不相关 – 实际上这是我的IDE,WebStorm的问题。 虽然IDE通常应该使用本评论中描述的机制自动更新文件到另一个问题 (在我的情况下,也不是很久以前…)。 否则,它会回到每隔一段时间检查一次所有文件。 该文件没有在我的IDE视图中更新,但它已经改变了一直在工作的吞咽。 直到我解决了自动重新加载的问题,使用文件| 在显示的文件的最新版本中同步结果。