Загрузка html-страницы на nodeJS не будет загружаться до тех пор, пока не прервется клавиатура - PullRequest
0 голосов
/ 08 октября 2018

Я новичок в nodeJS.Я пытаюсь загрузить страницу index.html на свой порт 8080 и получить следующее:

var http = require('http');
var fs = require('fs');

var PORT = 8080;

function home(req, res) {
  if(req.url == '/'){
    fs.readFile('index.html', function read (err, data) {
      res.writeHead(200, {'Content-type' : 'text/html'});
      res.write(data);
      res.end();
  });
  }
};

var server = http.createServer(function (req, res) {
  home(req, res);
});

server.listen(PORT);

У меня есть 3 файла в одном каталоге: index.html, style.css, server.js.Я запускаю сервер, и страница не будет загружаться, пока я не нажму cntrl + c.Почему это?

1 Ответ

0 голосов
/ 08 октября 2018

Вы записали данные в ответ, но не завершили ответ.Поставьте res.end(); после вашей функции res.write.

Без этого браузер продолжает ожидать получения дополнительных данных с сервера.Когда вы выключаете сервер с помощью Ctrl-C, сервер закрывает соединение, и браузер отображает то, что оно получило.

Если вы новичок в Node, я бы порекомендовал посмотреть что-то вроде Express , которая обрабатывает для вас много важных вещей, таких как маршрутизация (какие URL идут на какие страницы), и сэкономит вам гораздо больше, если в будущем операторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...