【发布时间】:2023-03-15 20:52:01
【问题描述】:
我需要在我的应用中添加对此功能的支持。 我目前的实现非常简单:
this.watcher.on("add", (pathName: string) => {
this.sendNotifyAction(new NotifyAction(PathEvent.Add, pathName));
}).on("change", (pathName: string) => {
this.sendNotifyAction(new NotifyAction(PathEvent.Change, pathName));
}).on("unlink", (pathName: string) => {
this.sendNotifyAction(new NotifyAction(PathEvent.Delete, pathName));
}).on("ready", () => {
this.sendReadinessNotification();
});
现在我想要类似的东西:
private acceptedFileExtensions: string[] = ['.txt', '.docx', '.xlx', ...]
并在 Chokidar 中使用这个扩展数组。因此,如果监视目录中的文件具有列表中的扩展名 - 发送通知,如果没有 - 什么也不做。
我看到了类似的问题https://stackoverflow.com/questions/40468608/use-chokidar-to-watch-for-specific-file-extension#=,但这不是我真正需要的。
在回调函数内部过滤对我来说看起来不太好,但我没有看到其他变体。请指教。
谢谢。
【问题讨论】:
-
为什么不像
acceptedFileExtensions.forEach(ext => chokidar.add("**/*" + ext)这样的? -
或者将基于这些扩展的通配符数组传递给
chokidar.watch()。 -
如何通过?
标签: javascript node.js fs