fs手表方法的差异

时间:2017-06-24 16:59:53

标签: node.js watch

node.js文件系统监视方法之间的差异是什么:

  • watch(filename,[, options],(filename) => {} ) node-watch 包)
  • fs.watch(filename[, options][, listener])
  • fs.watchFile(filename[, options], listener)

添加更多,如果有的话

1 个答案:

答案 0 :(得分:4)

我正在寻找关于这个确切问题的信息并遇到了this post.

- 博客文章简而言之:

fs.watch()

  • 是较新的API并推荐使用。
  • 使用操作系统支持的本机监视功能,因此不会在等待时浪费CPU。
  • 不支持所有平台,例如AIX和Cygwin。

fs.watchFile()

  • 是旧的API,不推荐使用。
  • 定期调用stat(),因此即使没有任何更改也会使用CPU。
  • 可在任何平台上运行。

- 不在博文中:

node-watch()

我自己没有使用过node-watch,但是通过查看它,我可以看到它扩展了fs.watch()并添加了递归功能。 fs.watch()允许您查看目录以进行更改,但是要查看下面的所有目录,需要单独调用。如果我不得不猜测,(我还没试过),这些可能是相同的:

fs.watch(./project)

fs.watch(./project/assets)

fs.watch(./project/lib)

或者

node-watch(./project, { recursive: true })