sto correndo il seguente sul nodo v0.5.9:fs.watch via Nodo 0.5.9 su Mac OSX
var fs = require("fs");
fs.watch("/Users/username/testingFsWatcher/",function(event,file) {
console.dir(arguments);
});
Ho poi faccio:
cd /Users/username/testingFsWatcher/
>file1
- >{ '0': 'rename', '1': null }
mkdir new_folder
->{ '0': 'rename', '1': null }
>new_folder/file2
-> nessun caso innescato/uscitatouch file1
-> nessun caso innescato/uscitarm file1
->{ '0': 'rename', '1': null }
Due cose che ho notato che sembrano non corretta: sottodirectory (new_folder
) non sono guardato e gli aggiornamenti/modifiche ai file guardati non attivano un evento change
. Guardando oltre il codice del nodo e test sembra che questi dovrebbero essere possibili.
Quindi, è possibile ottenere fs.watch
per guardare una directory e tutte le sue sottodirectory? È almeno possibile ottenere un evento da una modifica del file? Inoltre, da quello che posso dire, lo è supportato da kqueue
che è collegato a un eventid
(in OSX), è possibile ottenere quello eventid
?
Nota: sto specificatamente utilizzando fs.watch
e non fs.watchFile
perché ho bisogno di guardare un'intera directory (preferibilmente anche tutte le sottodirectory :).
Grazie per l'aiuto!
0.5.9 non è stabile. Sentiti libero di aggiungere un bug in github con un esempio più dettagliato. Potresti usare "Supervisor" di Isaac – malletjo
Questo problema è riportato su https://github.com/joyent/node/issues/1986, ed è almeno parzialmente risolto sotto la stable 0.6.0. –
Grazie per il link Trevor! Proverò a pubblicare i miei risultati su quel thread quando avrò la possibilità di effettuare l'aggiornamento a 0.6.0 ... :) –