233 votos

Auto-recarga de archivos en Node.JS

EDITAR: Usar http://github.com/isaacs/node-supervisor Esta es una vieja pregunta y el ejemplo de código está hecho con una API de Node.JS desactualizada.

¿Alguna idea de 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 Node.JS require() no recarga los archivos si ya han sido requeridos, así 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 app.JS archivo que tengo:

var file = require('./file');
this.app = function(req, res) { 
    file.serveFile( req, res, 'file.js');  
}

Pero esto tampoco está funcionando tengo un error en el process.compile() que dice que "requerir" no está definido. process.compile está evaluando la app.JS pero no tiene ni idea del nodo. JS globals.

270voto

Anup Bishnoi Puntos 2331

El supervisor de nodos es increíble.

para reiniciar cuando se guarde:

npm install supervisor -g
supervisor app.js

por isaacs - http://github.com/isaacs/node-supervisor

176voto

Marius Butuc Puntos 3792

Una buena y actualizada alternativa a supervisor es nodemon :

Monitorea cualquier cambio en tu nodo. La aplicación JS y automáticamente reinicia el servidor - perfecto para el desarrollo

73voto

Inshua Puntos 501

Encontré una forma sencilla:

delete require.cache['/home/shimin/test2.js']

14voto

JnBrymn Puntos 5199

nodemon apareció primero en una búsqueda en Google, y parece que funciona:

npm install nodemon -g
cd whatever_dir_holds_my_app
nodemon app.js

8voto

Richard Metzler Puntos 446

Hay un Node-Supervisor que puedes instalar por

npm install supervisor

ver http://github.com/isaacs/node-supervisor

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X