【发布时间】:2015-03-12 02:28:18
【问题描述】:
我的 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”的副本)没有被创建。请注意,在上述输出中,虽然“watcher.on”调用中的“console.log”显示在输出中,但“test-watch”任务中的“console.log”未显示。如果我直接运行 test-watch 任务,文件会被创建。
如果我直接运行 test-watch 任务,输出如下:
[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 任务。
【问题讨论】:
标签: javascript windows gulp watch