Enviando Respostas - Node.js
Para enviar respostas no Express, o objeto response pode usar várias funções. A forma mais comum de enviar uma resposta é utilizando a função send()
const express = require("express");
const app = express();
app.use(function (_, response) {
response.send("<h2>Hello</h2>");
});
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));
Para enviar um objeto, podemos usar:
response.send({id: 6, name: "Tom"});
Para enviar um array:
response.send(["Tom", "Bob", "Sam"]);
Para enviar um Buffer
response.send(Buffer.from("Hello Express"));
O objeto Buffer representa alguns dados binários. No exemplo acima, ao executar o código, o navegador carregará um arquivo que contém a string "Hello Express".
Enviando Arquivos com sendFile
O método send
const express = require("express");
const app = express();
app.use(function (_, response) {
response.send(`<!DOCTYPE html>
<html>
<head>
<title>Principal</title>
<meta charset="utf-8" />
</head>
<body>
<h1>Página Principal</h1>
<h3>Olá, Express</h3>
</body>
</html>`);
});
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));

Enviamos este arquivo utilizando a função sendFile
const express = require("express");
const app = express();
app.use(function (_, response) {
response.sendFile(__dirname + "/index.html");
});
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));
Finalmente, o resultado será o mesmo.
É importante observar que a função sendFile precisa de um caminho absoluto para o arquivo. Para isso, utilizamos __dirname
Enviando Códigos de Status
A função sendStatus()
const express = require("express");
const app = express();
app.use("/home/foo/bar", function (_, response) {
response.sendStatus(404);
});
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));

Como mostrado no exemplo, ao enviar o código de status 404, também é enviada a mensagem "Not Found". Se quisermos enviar mensagens mais informativas, podemos usar a combinação da função status()
send()
const express = require("express");
const app = express();
app.use("/home/foo/bar", function (request, response) {
response.status(404).send("Recurso não encontrado");
});
app.listen(3000, () => console.log("Servidor iniciado em http://localhost:3000"));