在gulp.watch上重建项目没有任何效果

时间:2014-06-03 08:15:10

标签: node.js gulp

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

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']);

第一个构建任务按预期工作,执行时间约为550毫秒:

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

但是,当我在src文件夹中更改某些内容时,构建任务只需要很少的时间,但我不使用任何缓存:

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

此外,该任务无效 - dist目录不会更改。但是,我注意到,当我杀死gulp并再次运行时,文件会更新。我不知道这是gulp还是文件系统本身我不明白。

1 个答案:

答案 0 :(得分:1)

事实证明问题与gulp无关 - 实际上这是我的IDE,WebStorm的一个问题。虽然IDE通常应该使用this comment to another question中描述的机制自动更新文件 (在我不久前的情况下也是如此......)。否则它会回退到以一定的时间间隔检查所有文件。该文件没有在我的IDE视图中更新,但它已经被gulp更改,它一直在工作。直到我使用File |修复自动重新加载的问题同步结果显示正在显示的文件的最新版本。