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);
Другие вопросы по тегам