Шаблоны

Последнее обновление: 23.11.2023

В прошлой теме использовался файл html, который имел статичное неизменяющееся содержимое. Однако мы также можем применять специальные инструменты - шаблоны, вместо которых в файл будет вставляться какой-то определенный текст. Например, изменим файл index.html следующим образом:

<!DOCTYPE html>
<html>
<head>
    <title>Главная</title>
    <meta charset="utf-8" />
</head>
<body>
    <h1>{header}</h1>
	<p>{message}</p>
</body>
<html>

Вместо конкретного содержимого здесь определены плейсхолдеры "{header}" и "{message}", вместо которых может вставляться любой текст.

В качестве файла приложения определим следующий файл app.js:

const http = require("http");
const fs = require("fs");
 
http.createServer(function(_, response){
     
    fs.readFile("index.html", function(error, data){
                 
        if(error) {
            response.statusCode = 500;
            response.end("Server error");
        }
        else{
            const message = "Изучаем Node.js"; 
            const header = "Главная страница";
            const dataText = data.toString().replace(/{header}/g, header).replace(/{message}/g, message);
            response.end(dataText);
        }
    })
}).listen(3000);

Здесь получаем содержимое файла, преобразуем в текст и заменяем плейсхолдеры на конкретный текст с помощью метода data.toString().replace() и переданных в него регулярных выражений.

При обращении к приложению мы получим полноценную html-страницу без плейсхолдеров:

Шаблоны в Node.js
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850