¿Alguna idea sobre cómo podría implementar una recarga automática de archivos en Node.js? Estoy cansado de reiniciar el servidor cada vez que cambio un archivo. Aparentemente, la require()
función de Node.js no vuelve a cargar archivos si ya se han requerido, por lo que necesito hacer algo como esto:
var sys = require('sys'),
http = require('http'),
posix = require('posix'),
json = require('./json');
var script_name = '/some/path/to/app.js';
this.app = require('./app').app;
process.watchFile(script_name, function(curr, prev){
posix.cat(script_name).addCallback(function(content){
process.compile( content, script_name );
});
});
http.createServer(this.app).listen( 8080 );
Y en el archivo app.js tengo:
var file = require('./file');
this.app = function(req, res) {
file.serveFile( req, res, 'file.js');
}
Pero esto tampoco funciona: recibo un error en la process.compile()
declaración que dice que 'requerir' no está definido. process.compile
está evaluando el app.js , pero no tiene idea sobre los nodos globales de node.js.
Object.keys(require.cache).forEach(function(key) { delete require.cache[key]; });