Отдача HTML страниц из файлов в NodeJS


Давайте теперь по запросу будем отдавать не какой-то текст, а корректно оформленную HTML страницу. Пусть такая страница хранится в файле page.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>my page</title>
</head>
<body>
<p>
my first page on NodeJS
</b>
</body>
</html>
Давайте по запросу прочитаем эту страницу из файла и отправим ее в браузер:

http.createServer(async (request, response) => {
if (request.url != '/favicon.ico') {
let text = await fs.promises.readFile('page.html', 'utf8');

response.writeHead(200, {'Content-Type': 'text/html'});
response.write(text);
response.end();
}
}).listen(3000);
Как вы видите, чтение файла осуществляется асинхронным образом. В этом случае в ожидании считывания файла с диска сервер сможет обрабатывать запросы других пользователей к нашему серверу.