簡體   English   中英

Node.js:處理/重新創建HTTP服務器

[英]Node.js: dispose/recreate HTTP server

我只是第一次玩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文件,因為我在玩耍並學習node.js?

我不一定對執行此操作或使用框架執行操作的“適當”方式感興趣; 我對通過首先以艱苦,天真的方式做事來學習基礎知識很感興趣。

您可以只關閉服務器,等待回調,從require緩存中刪除服務器,然后調用啟動服務器方法。

請參閱: stackoverflow問題:node.js require()緩存-是否可能失效?

NodeJS文檔:server.close([callback])

欲獲得更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM