javascript - gulp watch 只运行两次

标签 javascript node.js gulp

我正在从 grunt 切换到 gulp。这是在 grunt 下找到的工作(提及以防有帮助)。

使用下面的 gulpfile,我的测试任务(mocha)在文件更改时成功运行,但它只能运行两次。如果我更改另一个文件,任务将运行,但对同一文件的连续更改不会触发运行。换句话说:

  • 触摸文件 A,任务运行
  • 再次触摸文件 A,任务运行
  • 再次触摸文件 A,任务未运行
  • 触摸文件 B,任务运行
  • 再次触摸文件 B,任务未运行

测试通过,我看到的唯一输出是 gulp 启动/停止(即我没有看到任何会破坏 watch 的错误)

OSX 10.10.3/gulp 3.9.0

我的 gulp 文件:

'use strict';

var gulp = require('gulp');
var mocha = require('gulp-mocha');

gulp.task('test', function() {
    gulp.src('test/unit/**/*.js')
        .pipe(mocha());
});

gulp.task('watch', function() {
    gulp.watch('lib/**/*.js', ['test']);
});

最佳答案

这真的很奇怪,我不知道为什么,但同样的事情发生在我身上,一旦我也开始观看测试文件,它就开始工作。也许它适合你的情况。尝试一下。

gulp.task('watch', ['test'], function() {
    gulp.watch(['lib/**/*.js', 'test/unit/**/*.js'], ['test']);
});

关于javascript - gulp watch 只运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30949705/

相关文章:

node.js - 当我运行 gulp 命令时,我的文件失去权限

javascript - fancybox 使鼠标滚轮淡入图片水平

javascript - 如果未从根访问单页 Web 应用程序 (SPA),则保证 HTML 信息

javascript - 是否有可能获得运行给定闭包的函数名称?

node.js - 无法确定对象Node.js中的属性键

Node.js 快速应用程序生产部署

javascript - gulp v4函数异步任务未完成执行

CSS 模块和多个布局/主题?

javascript - 当我滚动到它时,如何将元素的 id 传递给 url?

javascript - 具有 10,000 个节点的 d3.js 树形图