gulp.watch()没有运行相关的任务

我在我的gulpfile.js中有以下代码:

gulp.task('test-watch', function () { console.log('running test-watch...'); return gulp.src('./views/layout.tmpl') .pipe(rename('layout.html')) .pipe(gulp.dest('./views/')); }); gulp.task('watch', function () { var watcher = gulp.watch('./views/layout.tmpl', ['test-watch']); watcher.on('change', function (event) { console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); }); }); 

它会导致以下输出(最后一行出现在我编辑/保存“layout.tmpl”之后):

 [15:53:12] Using gulpfile C:\project1\gulpfile.js [15:53:12] Starting 'watch'... [15:53:12] Finished 'watch' after 6.72 ms File C:\project1\views\layout.tmpl was changed, running tasks... 

文件“layout.html”(应该是“layout.tmpl”的副本)不会被创build。 请注意,在输出中显示“watcher.on”调用中的“console.log”的上述输出中,“test-watch”任务内的“console.log”未显示。 如果我直接运行testing任务,文件确实被创build。

如果我直接运行testing任务,输出如下:

 [15:53:56] Using gulpfile C:\project1\gulpfile.js [15:53:56] Starting 'test-watch'... running test-watch... [15:53:56] Finished 'test-watch' after 12 ms 

请注意,显示“test-watch”任务中的“console.log”。

这是在Windows 7机器上,从cmd.exe运行gulp任务。

    作为一个数组,支持将观察任务传递给gulp.watch API至少需要gulp版本3.5。 gulp.watch API仅在gulp版本3.5及更高版本中接受一系列任务。

    我的本地吞咽是3.4版本。

    我更新了最新的3.8版本,我的手表任务正常工作。