我第一次玩弄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?
我不一定对“正确”的方式感兴趣或使用框架来做这件事;我首先通过艰苦,天真的方式来学习基础知识,这很有趣。
答案 0 :(得分:0)
您可以关闭服务器,等待回调,从require缓存中删除服务器,然后调用启动服务器方法。
请参阅:stackoverflow question: node.js require() cache - possible to invalidate?
和
NodeJS documentation: server.close([callback])
了解更多信息。