[英]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.