O módulo http
Parte da seção Fundamentos de Express do Journey de Node.js da Coddy. Lição 2 de 23.
O Express faz um trabalho por você que não consegue ver. O próprio módulo node:http do Node, no qual o Express se baseia, mostra isso.
import http from 'node:http';
const server = http.createServer((req, res) => {
if (req.url === '/repairs') {
res.statusCode = 503;
res.end('Repairs are closed today');
return;
}
res.end('Welcome to the bike shop');
});
server.listen(3000);O Node chama a função para cada requisição. Não há rotas: você mesmo compara req.url, o caminho solicitado. res.statusCode é o código de status, um número que indica como foi: 200 significa OK, 404 significa não encontrado. res.end envia o corpo e conclui a resposta, então defina o status antes disso.
Desafio
FácilAntes de continuar com Express, você vai escrever um servidor pequeno com o próprio módulo node:http do Node, para ver o trabalho que o Express faz por você.
- Em
server.js, dentro da função passada parahttp.createServer, confirareq.url. Quando for/, envie o textoHome. - Para qualquer outro caminho, defina o código de status como 404 e envie o texto
Not found. Defina o status antes de enviar. Depois que a resposta for encerrada, o status não poderá ser alterado.
Experimente: Pressione Executar e envie /. Você deverá ver Home com o status 200. Envie /nope e, em seguida, /recipes/today. Ambos deverão mostrar Not found com o status 404. Na lição 1, o Express enviou esse 404 para você; aqui, você mesmo vai escrevê-lo.
Experimente você mesmo
import http from 'node:http';
const server = http.createServer((req, res) => {
// Responda a / com Home e a todos os outros caminhos com 404 Not found.
res.end('Hello from Node');
});
server.listen(3000, () => {
console.log('Listening on port 3000');
});
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos de Express
Pratique por conta própria: Playground de Express