1

初めて Node.js をいじっています。標準のベース server.js ファイルがあります。

var server = require('http').createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
});
console.log('Server started and listening...');
server.listen(1337, '127.0.0.1');

さて、私が知りたいserverのは、インスタンスを処分して新しいインスタンスを起動するにはどうすればよいかということです。たとえば、これが私の単純な擬似コードです。

function launchServer() {
    var server = require('http').createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World\n');
    });
    console.log('Server started and listening...');
    server.listen(1337, '127.0.0.1');
    return server;
}

var server = launchServer();

require('fs').watchFile('server.js', function(curr, prev) {
    console.log('Restarting server...');
    server = null;
    server = launchServer();
}); 

ここで私が何をしようとしているのか見てみましょう — 変更するたびに server.js ファイルをリロードします。

これを行うための「適切な」方法や、フレームワークを使用してこれを行うことに必ずしも興味があるわけではありません。最初は難しい、素朴な方法で物事を行うことによって基本を学ぶことに興味があります。

4

1 に答える 1

0

サーバーを閉じて、コールバックを待ち、require キャッシュからサーバーを削除してから、起動サーバー メソッドを呼び出します。

参照: stackoverflow の質問: node.js の require() キャッシュ - 無効にできますか?

NodeJS ドキュメント: server.close([callback])

詳細については。

于 2013-05-25T21:36:30.547 に答える