В прошлой теме использовался файл 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-страницу без плейсхолдеров: