初始化新的监听器
附加选项
判断或设置是否仅当文件的最后修改时间发生变化才触发更新
获取或设置监听延时回调的毫秒数
判断是否强制使用轮询监听,轮询监听可以支持更多的文件系统,但会占用大量 CPU
判断当前监听器是否正在监听
添加要监听的文件或文件夹
要添加的文件或文件夹路径
添加完成的回调函数,在回调执行前无法监听到文件的修改
如果添加成功则为空,否则为错误对象
是否已创建新的监听器
移除已添加的所有监听器
移除完成后的回调函数
处理原生更改事件
更改的文件或文件夹路径
判断是否忽略指定的路径
要判断的文件或文件夹路径,路径的分隔符同操作系统
判断是否正在监听指定的文件或文件夹
要判断的路径
当监听到文件修改后执行
相关的文件路径
相关的文件属性对象
文件的上一次修改时间戳
当监听到文件创建后执行
相关的文件路径
文件属性对象
当监听到文件夹创建后执行
相关的文件夹路径
文件夹内的文件列表
当监听到文件删除后执行
相关的文件路径
文件被删除前最后一次的修改时间戳
当监听到文件夹删除后执行
相关的文件夹路径
文件夹被删除前的文件列表
当监听发生错误后执行
相关的错误对象
原始监听的路径
等待所有异步任务都完成后执行指定的回调函数
要执行的回调函数
移除指定路径的监听器
要移除的文件或文件夹路径
移除完成后的回调函数
如果成功移除监听器则为 true
,如果存在更上级的监听器,则为 false
获取或设置传递给原生监听器的选项
轮询的间隔毫秒数
是否在监听时阻止进程退出
是否使用原生的递归监听支持
Generated using TypeDoc
表示一个文件系统监听器
本监听器的设计目标是:只针对常见场景,提供轻量、高效、稳定的实现,确保占用 CPU 极低且占用内存极小
fs.watch
实现,低于 Node 10.12 版本不保证稳定性fs.watch
的系统(比如虚拟机)可开启usePolling
(基于原生fs.watchFile
实现),但这会占用较高 CPU如果以上不符合你的需求,请考虑使用 chokidar
const watcher = new FileSystemWatcher() watcher.on("change", path => { console.log("Changed", path) }) watcher.on("delete", path => { console.log("Deleted", path) }) watcher.on("create", path => { console.log("Created", path) }) watcher.add(process.cwd(), () => { console.log("Start Watching...") })