使用节点。js如何实现一个监视文件变化功能

  介绍

本篇文章为大家展示了使用节点。js如何实现一个监视文件变化功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

fs。FSWatcher类继承了EventEmitter,用于监视文件变化,调用fs。看后返回一个fs。FSWatcher实例,每当指定监视的文件被修改时,实例会触发事件调用回调函数

fs.watch (& # 39;。/tmp # 39;, (eventType文件名)=比;{   如果(文件名){   console.log(文件名);   }   });

<代码> fs。手表(文件名[选项][,侦听器])监视文件变化,返回fs。FSWatcher实例

1.文件名:文件或文件夹路径

2。选择

    <李> <李>编码递归:默认值false,应该监视所有子目录,还是仅监视当前目录,仅在macOS和Windows上支持 <李>持久:默认值正确,指示如果文件已正被监视,进程是否应继续运行 <李>侦听器(eventType文件名):文件变化回调函数
      李,

eventType主要是<代码> rename 和<代码>修改> EPERM> fs.watch(& # 39;。/& # 39;,{递归:真},(eventType文件名)=比;{   控制台。日志(eventType,文件名);   });

<代码> fs。watchFile(文件名[选项],侦听器)用于监视文件变化

1.文件名

2。选择

    <李> biginit:默认值false,指定回调统计中的数值是否为biginit类型 <李>持久:默认值为真,当文件正在被监视时,进程是否应该继续运行 <李>间隔:默认值5007,用来指定轮询频率(ms)
      李,

3。侦听器(currentStats previousStats):侦听器有两个参数,当前的统计对象和之前的统计对象
要在修改文件时收到通知,则需要比较<代码>咕咕叫。mtime 和<代码>上一页。mtime

 const chokidar=要求(& # 39;chokidar& # 39;);//>//初始化观察者。
  const观察家=chokidar.watch(& # 39;文件,dir,水珠,或者数组,,{
  忽略:/(^ | [\/\ \])\ . ./,//忽略.
  持久性:真
  });//接收事件时使用。
  const日志=console.log.bind(控制台);//添加事件监听器。
  观察家
  内(& # 39;添加# 39;,路径=比;日志文件(“${路径}已添加的))
  内(& # 39;改变# 39;,路径=比;日志文件(“${路径}已经改变的))
  内(& # 39;拆开# 39;,路径=比;日志文件(“${路径}被移除的));//更多可能的事件。
  观察家
  内(& # 39;addDir& # 39;,路径=比;日志(“添加了目录${路径}”))
  内(& # 39;unlinkDir& # 39;,路径=比;日志(“目录${路径}被移除的))
  内(& # 39;错误# 39;,错误=比;日志(观察家错误:${错误}))
  内(& # 39;准备# 39;,()=比;日志(& # 39;初始扫描完成。准备好改变# 39;))
  内(& # 39;生# 39;,(事件、路径、细节)=比;{//内部
  日志(& # 39;原始事件信息:& # 39;,事件,路径,细节);
  });

使用节点。js如何实现一个监视文件变化功能