Jakieś pomysły na to, jak mogę wdrożyć automatyczne przeładowywanie plików w Node.js? Mam dość ponownego uruchamiania serwera za każdym razem, gdy zmieniam plik. Najwyraźniej require()funkcja Node.js nie ładuje plików, jeśli były już wymagane, więc muszę zrobić coś takiego:
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 );
A w pliku app.js mam:
var file = require('./file');
this.app = function(req, res) {
file.serveFile( req, res, 'file.js');
}
Ale to też nie działa - pojawia się błąd w process.compile()stwierdzeniu, że „wymaganie” nie jest zdefiniowane. process.compileewaluuje app.js , ale nie ma pojęcia o globalsach node.js.
Object.keys(require.cache).forEach(function(key) { delete require.cache[key]; });