首页 > 解决方案 > Gulp: .on('change') 和没有有什么区别吗?

问题描述

有什么区别:

gulp.watch("src/sass/**/*.{scss,sass}").on("change", gulp.series("style")); 

gulp.watch("src/sass/**/*.{scss,sass}", gulp.series("style"));

?

看起来它的工作方式相同。

标签: gulptaskwatch

解决方案


还有更多可以观看的事件,请参阅chokidar watch events

在我的测试中,如果我使用

gulp.watch("src/sass/**/*.{scss,sass}").on("change", gulp.series("style")); 

如果我添加文件夹或文件或将文件复制到正在监视的预先存在的文件夹中(可能也删除 - 我只是没有测试),该任务将不会触发。

如果我使用

gulp.watch("src/sass/**/*.{scss,sass}", gulp.series("style"));

以上所有 - 添加和复制事件确实会触发任务。显然,不指定 watch 事件与指定on("all", ...). 这可能是您想要的,除非您在添加、删除或复制文件时与修改现有文件时想要不同的行为。这些事件只是给你更细粒度的控制。


推荐阅读