吞噬监视回调任务未触发



我正在尝试设置一个gulp-watch,当某些文件更改时会触发gulp任务。为此,我使用以下代码:

gulp.task('watchChanges', function(cb){
console.log("Looking for file changes in " + watchPath+".");  
return watch(watchPath, ['FilesChanged']);
});
gulp.task('FilesChanged', function (cb){
FilesChanged();
cb();
})
function FilesChanged()
{
console.log("Files changed:")
}

每当文件更改时,我希望"文件已更改"任务会触发并且我会在控制台中看到"文件已更改:"文本。这不会发生。

当我将手表更改任务时:

gulp.task('watchChanges', function(cb){
console.log("Looking for file changes in " + watchPath+".");  
return watch(watchPath, FilesChanged);
});

谁能解释为什么第一段代码无法正确执行?

由于您使用的是gulp-watch,如果您查看其函数定义:

手表(全球,[选项,回调](

你可以看到它将需要一个回调函数,这就是为什么你的

返回监视(监视路径,文件已更改(;

作品和

返回监视(监视路径,["文件已更改"](;

不。 gulp-watch不会像gulp.watch那样承担一系列任务:

gulp.watch(glob[, opts], tasks(

gulp-watch和gulp.watch是两个完全不同的东西。 你可能想要的是

gulp.task('watchChanges', function(cb){
console.log("Looking for file changes in " + watchPath+".");  
gulp.watch(watchPath, ['FilesChanged']);
});

如果随后要查看正在处理哪些文件,请尝试获取当前文件名中的建议之一。

相关内容

  • 没有找到相关文章