繁体   English   中英

gulp.watch()未运行关联的任务

[英]gulp.watch() not running associated task

我的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

注意,显示了“测试监视”任务中的“ console.log”。

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

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

我的本地gulp是3.4版。

我已将gulp更新至最新的3.8版本,并且我的监视任务正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM