簡體   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