5

Node v0.5.9 で以下を実行しています。

var fs = require("fs");
fs.watch("/Users/username/testingFsWatcher/",function(event,file) {
  console.dir(arguments);
});

次に、次のことを行います。

  • cd /Users/username/testingFsWatcher/
  • >file1-->{ '0': 'rename', '1': null }
  • mkdir new_folder-->{ '0': 'rename', '1': null }
  • >new_folder/file2--> イベントのトリガー/出力なし
  • touch file1--> イベントのトリガー/出力なし
  • rm file1-->{ '0': 'rename', '1': null }

サブディレクトリ ( ) が監視されていないことと、監視されているファイルの更新/変更がイベントnew_folderをトリガーしないことです。changeノードコードとテストを見ると、これらが可能であるように思われます。

fs.watchでは、ディレクトリとそのすべてのサブディレクトリを監視することは可能ですか? 少なくともファイルの変更からイベントを取得することは可能ですか? また、私が知る限り、(OSX で) に関連付けられているのfs.watchは、それを取得することは可能ですか?kqueueeventideventid

注:ディレクトリ全体を監視する必要があるためfs.watchではなく、具体的に使用していfs.watchFileます(できればすべてのサブディレクトリも:)。

助けてくれてありがとう!

4

1 に答える 1

0

この問題は、最新の Node リリースでは発生しなくなりました。ただし、 には他にもいくつかのバグが残っているfs.watchため、それらが解決されるまで使用を保留することをお勧めします: https://github.com/joyent/node/issues/search?q=fs.watch

于 2011-11-14T02:10:25.900 に答える