NodeJS. Потоковый вывод HTML страницы.
Всем привет! В этой статье мы рассмотрим, как отправлять HTML страницы клиенту, используя потоки в NodeJS.
В прошлой статье, как вы помните, мы написали достаточно простой сервер, использующий pipe() метод, чтобы напрямую в потоке отправлять данные. Там мы считывали данные из текстового файлика, а теперь давайте попробуем отобразить таким образом HTML страницу.
Чтобы отобразить HTML страницу, нужно создать HTML страницу. Давайте это и сделаем.
Создайте index.html файл и вставьте туда следующий код:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>NodeJS Website</title>
<style>
body {
background: skyblue;
font-family: verdana;
color: #fff;
padding: 30px;
}
h1 {
font-size: 48px;
text-transform: uppercase;
letter-spacing: 2px;
text-align: center;
}
p {
font-size: 16px;
text-align: center;
}
</style>
</head>
<body>
<h1>Добро пожаловать на самый продвинутый веб-сайт в интернете</h1>
<p>Вы нигде не найдете веб-сайта лучше, чем наш!</p>
</body>
</html>
Теперь, когда HTML страница готова, давайте ее выведем.
Для этого нам нужно в нашем предыдущем коде сервера изменить text/plain на text/html, чтобы браузер понимал, что нужно отрисовывать страницу, а не просто выводить содержимое как текст, и написать новый путь до файла. Итоговый код будет выглядеть примерно так:
var server = http.createServer(function(request, response) {
response.writeHead(200, {'Content-Type': 'text/html'});
var myReadStream = fs.createReadStream(__dirname + '/index.html', 'utf8');
myReadStream.pipe(response);
});
server.listen(3000, '127.0.0.1');
console.log('Прослушивание порта 3000');
Запустите приложение, и вы увидите, что наша HTML страничка успешно отобразилась.
А на этом сегодня все. Спасибо за внимание!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.