Templates em Node.js
No tema anterior, utilizamos um arquivo HTML com conteúdo estático. No entanto, podemos também usar ferramentas especiais: templates, nos quais um determinado texto será inserido no arquivo. Por exemplo, podemos modificar o arquivo index.html
da seguinte forma:
<!DOCTYPE html>
<html>
<head>
<title>Principal</title>
<meta charset="utf-8" />
</head>
<body>
<h1>{header}</h1>
<p>{message}</p>
</body>
</html>
Aqui, em vez de conteúdo específico, definimos os placeholders {header}
e {message}
, que podem ser substituídos por qualquer texto.
Para o arquivo de aplicação, definimos o seguinte arquivo 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("Erro no servidor");
} else {
const message = "Aprendendo Node.js";
const header = "Página Principal";
const dataText = data
.toString()
.replace(/{header}/g, header)
.replace(/{message}/g, message);
response.end(dataText);
}
});
})
.listen(3000);
Aqui, obtemos o conteúdo do arquivo, o convertendo em texto e substituindo os placeholders pelo texto específico usando o método data.toString().replace()
e as expressões regulares fornecidas.
Ao acessar a aplicação, obteremos uma página HTML completa sem os placeholders: