node.js - 在 gulp.watch 上重建项目没有效果

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

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

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

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

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

此外,该任务没有任何效果 - dist 目录不会更改。然而,我注意到,当我杀死 gulp 并再次运行它时,文件会更新。我不知道是 gulp 的问题还是文件系统本身我不明白。

最佳答案

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

关于node.js - 在 gulp.watch 上重建项目没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24010214/

相关文章:

node.js - Mocha 使用 supertest ,类型错误 : cannot read property 'call' of undefined

不允许通过字符串文字进行 Angular 2 访问

javascript - 如何在 gulp 任务中仅排除 .min.js 文件,同时保持在同一目录中?

node.js - 如果此任务在该文件更改时启动,如何运行任务(更改文件)并避免循环

javascript - 创建 Gulp 任务但不起作用,为什么?

node.js - nodejs 中的 jquery-url

node.js - 未找到 Node Express POST 路由中的括号

node.js - Plesk Windows 部署 Node.js

node.js - 如何获取 json 休息响应 - node.js

javascript - Gulp.js 在没有 browserSync 的情况下提供 src 文件?