M1k*_*1ke 3 git gulp gulp-watch
使用任务生成gulp文件很有用watch.在我的情况下,我有一个任务,它php监视目录的变化和更改的lints /副本,一个连接和复制的JS目录,以及在更改时编译为CSS的SASS.
如果我在监视任务运行的情况下检查另一个git分支,那么预计会发生疯狂,因为数百个文件会发生变化.可以解决的一个问题是watch触发器通用任务 - 例如PHP只是简单地重新l和复制所有PHP文件,而不仅仅是更改的文件.因此,如果50个文件发生变化,整个堆栈将重新打印50次.同样适用于JS(因为依赖)和SASS(因为它运行罗盘,然后它也会看到每个文件都被更改).
所以目前我的解决方案是杀死我的watch任务(使用Sublime Gulp运行),然后签出一个新的分支,然后重新运行它.我想任何解决方案都需要修改Sublime Gulp插件,或者阻止我使用它 - 如果有一个快速的快捷方式让watch任务在我的终端后台运行会很好,并允许我看到输出但是不要强迫我.
我知道git有钩子,所以我想象另一个解决方案可能是让checkout钩子产生一个文件,它可以作为监视任务的临时停止标志,或类似的东西.
任何人都会遇到类似的问题watch,你会如何建议解决它?
正如@ Mushr00m对Gulp.js的回答中所述,监视任务在保存文件时运行两次,debounceDelay你可以传递一个选项gulp.watch().
debounceDelay {integer}对于同一文件/事件连续调用的事件的延迟
简而言之,只要您的所有更改同时发生,debounceDelay就会在触发您观察任务之前等待.在我的经验,Git是通常相当快,所以你可以设置一个debounceDelay也许500还是1000没有太多的影响到你的开发工作流程.
例:
gulp.watch('/**/*.less', {debounceDelay: 2000}, ['less']);
Run Code Online (Sandbox Code Playgroud)
我能够验证这是在挖掘文档.实际功能来自凝视.
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |