javascript - 在 Gulp 中观看文件时访问许多事件类型的任何触发事件的事件路径
问题描述
使用 Gulp,您可以使用每种事件类型的watch().on()
方法来访问触发事件的路径:
const { watch } = require('gulp');
watch('*.js').on('change', (path, stats) => {
console.log(`File ${path} was changed`);
});
watch('*.js').on('add', (path, stats) => {
console.log(`File ${path} was added`);
});
您还可以使用events
option监视多种事件类型,但您无法访问触发事件的路径:
watch('*.js', { events: ['change', 'add'] }, cb => {
// body omitted
cb();
});
在监视多种事件类型时,有没有办法从单个匿名处理程序访问触发事件的路径?
解决方案
您可以监视所有事件,并根据需要稍后在回调中过滤掉这些事件。
const gulp = require('gulp');
const watcher = gulp.watch(['*.js']);
gulp.task('default', function() {
watcher.on('all', function(event, path, stats) {
console.log(`File ${path} was ${event}`);
console.log(stats);
// filter some things using the event param if needed
});
});
推荐阅读
- python - discord.py:如何获取提到的频道的频道 ID?
- delphi - 如何处理 Delphi 中两个不同公寓之间的 COM 回调
- snowflake-cloud-data-platform - DB 类型 449900 无效
- python - Plotly 不会从枢轴绘制条形图
- c# - Unity - 无法在 C# 中访问主播放器的子组件
- javascript - 使用 browserify 捆绑 js 代码时找不到预设 @babel/react
- bash - Bash 算术错误:“let: =+: 语法错误:预期操作数(错误标记为“=+”)+ 等于”
- django - 如何在 Django 的 ArrayList 中按值排序?
- python - 如何滚动到 QTableView 中的特定行?
- r - R group_by:具有 3 个 A、B、C 类的列。将任何等于 A 的元素转换为 B 或 C 以最大化 B 或 C 的最小频率