Skip to content

0x005-node实时监听目录变化

fs.watch

js
// start watch
this.fsWatcher = fs.watch(workspace, 
					  {recursive: true}, 
					  (eventType, filename) => {				  			
			})
// close 
this.fsWatcher?.close();
// start watch
this.fsWatcher = fs.watch(workspace, 
					  {recursive: true}, 
					  (eventType, filename) => {				  			
			})
// close 
this.fsWatcher?.close();

使用 fs.watch 时需要注意,它在不同的操作系统上可能会有一些行为上的差异,而且可能会出现一些误报或漏报的情况。

例如,在某些系统上,保存文件时可能会触发多次 change 事件。另外,如果同时对大量文件进行频繁的修改操作,可能会导致性能问题。

chokidar

据说比fs.watch更加稳定和高效。