Node.jsでファイルの自動再読み込みを実装する方法に関するアイデアはありますか?ファイルを変更するたびにサーバーを再起動するのにうんざりしています。どうやらNode.jsのrequire()
関数は既に必要な場合はファイルをリロードしないので、次のようなことをする必要があります。
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 );
そして、私が持っているapp.jsファイルで:
var file = require('./file');
this.app = function(req, res) {
file.serveFile( req, res, 'file.js');
}
しかし、これも機能していません- process.compile()
「require」が定義されていないというステートメントでエラーが発生します。process.compile
evalingさapp.jsを、しかし、Node.jsのグローバルについての手掛かりを持っていません。
Object.keys(require.cache).forEach(function(key) { delete require.cache[key]; });