estoy ejecutando el siguiente en v0.5.9 Nodo:fs.watch a través del nodo 0.5.9 en Mac OS X
var fs = require("fs");
fs.watch("/Users/username/testingFsWatcher/",function(event,file) {
console.dir(arguments);
});
entonces que hago:
cd /Users/username/testingFsWatcher/
>file1
- >{ '0': 'rename', '1': null }
mkdir new_folder
->{ '0': 'rename', '1': null }
>new_folder/file2
-> ningún caso desencadenó/salidatouch file1
-> ningún caso desencadenó/salidarm file1
->{ '0': 'rename', '1': null }
Dos cosas que noté que parecen incorrectos: subdirectorios (new_folder
) no se observó y las actualizaciones/modificaciones en los archivos vigilados no desencadenan un evento change
. Mirando el código del nodo y las pruebas, parece que esto debería ser posible.
Entonces, ¿es posible obtener fs.watch
para ver un directorio y todos sus subdirectorios? ¿Al menos es posible obtener un evento de una modificación de archivo? Además, por lo que puedo decir, fs.watch
está respaldado por kqueue
que está vinculado a un eventid
(en OSX), ¿es posible obtener ese eventid
?
Nota: Estoy usando específicamente fs.watch
y no fs.watchFile
porque necesito ver un directorio completo (preferiblemente todos sus subdirectorios también :).
¡Gracias por la ayuda!
0.5.9 no es estable. Siéntase libre de agregar un error en github con un ejemplo más detallado. Puede usar "Supervisor" por Isaac – malletjo
Este problema se reporta en https://github.com/joyent/node/issues/1986, y al menos parcialmente se encuentra en el estable 0.6.0. –
Gracias por el enlace Trevor! Trataré de publicar mis resultados en ese hilo una vez que tenga la oportunidad de actualizar a 0.6.0 ... :) –