Node.js Простой запрос на завершение события запроса к серверу
Я новичок в node.js. Попытка получить консоль для печати, когда запрос заканчивается. Я пытаюсь перейти на localhost:8080, а также localhost:8080/, но в терминале ничего не печатается. Есть идеи почему? Это происходит потому, что, когда я запускаю этот пример, потому что, когда я пытаюсь запустить демонстрацию на http://tutorialzine.com/2012/08/nodejs-drawing-game/ терминал говорит, что сокет запущен, но не отображает страницу index.html., Поэтому я не могу понять, почему этот код для обслуживания статических файлов для других не работает для меня.
var static = require('node-static');
//
// Create a node-static server instance to serve the './public' folder
//
// var file = new(static.Server)('./');
require('http').createServer(function (request, response) {
request.addListener('end', function () {
console.log("ended");
});
}).listen(8080);
2 ответа
Кажется, вы используете Node.js 0.10.x, и в новой версии вы должны возобновить чтение потоков, чтобы они генерировали события:
require('http').createServer(function (request, response) {
var body = '';
request.setEncoding('utf8');
request.on('readable', function () {
body+= this.read();
}
request.on('end', function () {
console.log('ended');
console.log('Body: ' + body);
});
request.resume();
}).listen(8080);
Вы должны вызывать статический вызов узла внутри обработчика запроса, чтобы вы могли получить index.html
var static = require('node-static');
var fileServer = new static.Server('./');
require('http').createServer(function (request, response) {
fileServer.serve(request, response); //add this line
request.addListener('end', function () {
console.log("ended");
});
}).listen(8080);