我正在从 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/