Instalar o Node.js
Antes de tudo, verifique se o Node.js está instalado:
node -v
Se não estiver, baixe e instale pelo site oficial https://nodejs.org
Instalar o Node.js
Crie uma nova pasta e inicie um projeto Node:
mkdir hello-express cd hello-express npm init -y
Instale o módulo Express
Instale o framework Express com:
npm install express
Criar o arquivo do servidor
// Importa o módulo Express (framework minimalista para Node.js)
const express = require('express');
// Cria uma instância da aplicação Express
const app = express();
/*
-------------------------------
ROTAS HTTP NO EXPRESS
-------------------------------
O Express permite definir rotas usando métodos que correspondem
aos principais verbos HTTP, como:
- GET: usado para obter dados (ex: acessar uma página ou API)
- POST: usado para enviar dados (ex: formulários, APIs)
- PUT: usado para substituir dados existentes
- PATCH: usado para atualizar parcialmente dados existentes
- DELETE: usado para remover dados
- ALL: usado para responder a *qualquer* tipo de requisição HTTP
Cada rota segue o formato:
app.METODO('CAMINHO', (req, res) => { ... })
Onde:
- req = objeto da requisição (request)
- res = objeto da resposta (response)
*/
/*
Rota GET para a raiz "/"
Essa rota responde quando alguém acessa: http://localhost:3000/
*/
app.get('/', (req, res) => {
res.send('Hello World! (GET /)');
});
/*
Rota POST para "/"
Responde quando alguém envia dados (ex: via formulário ou API POST)
*/
app.post('/', (req, res) => {
res.send('Você fez uma requisição POST!');
});
/*
Rota PUT para "/"
Usada normalmente para atualizar *todo* um recurso existente
*/
app.put('/', (req, res) => {
res.send('Você fez uma requisição PUT!');
});
/*
Rota PATCH para "/"
Usada para atualizar *parte* de um recurso existente
*/
app.patch('/', (req, res) => {
res.send('Você fez uma requisição PATCH!');
});
/*
Rota DELETE para "/"
Usada para remover um recurso existente
*/
app.delete('/', (req, res) => {
res.send('Você fez uma requisição DELETE!');
});
/*
Rota ALL para "/"
Responde a *qualquer método HTTP*
(GET, POST, PUT, DELETE, etc.) — é como um "coringa"
Pode ser útil para criar middlewares ou respostas genéricas.
*/
app.all('/all', (req, res) => {
res.send(`Você acessou a rota ALL com o método: ${req.method}`);
});
/*
Também é possível usar o caractere "*" para capturar qualquer rota
que não exista (ex: erro 404 personalizado)
*/
app.all('*', (req, res) => {
res.status(404).send('Rota não encontrada!');
});
/*
Inicia o servidor na porta 3000
Quando o servidor estiver rodando, a mensagem abaixo será exibida no terminal.
*/
app.listen(3000, () => {
console.log('Servidor rodando em http://localhost:3000');
});
Executar o servidor
No terminal, rode o comando:
node server.js
Você verá:
Servidor rodando em http://localhost:3000
Abra esse endereço no navegador, e verá: Hello World! (GET /)
Deixe uma resposta