Bạn có ý tưởng nào về cách tôi có thể tự động tải lại các tệp trong Node.js không? Tôi mệt mỏi vì phải khởi động lại máy chủ mỗi khi tôi thay đổi một tập tin. Rõ ràng require()
chức năng của Node.js không tải lại các tệp nếu chúng đã được yêu cầu, vì vậy tôi cần phải làm một cái gì đó như thế này:
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 );
Và trong tệp app.js tôi có:
var file = require('./file');
this.app = function(req, res) {
file.serveFile( req, res, 'file.js');
}
Nhưng điều này cũng không hoạt động - tôi gặp lỗi trong process.compile()
tuyên bố rằng 'yêu cầu' không được xác định. process.compile
đang trốn tránh app.js , nhưng không có manh mối nào về toàn cầu node.js.
Object.keys(require.cache).forEach(function(key) { delete require.cache[key]; });