Primeiros Passos com Express em Node.js
O Express é um framework minimalista para Node.js que facilita a criação de aplicativos web e APIs. Ele simplifica o processo de configuração de servidores HTTP, roteamento e manipulação de solicitações. Neste artigo, vamos explorar os primeiros passos para iniciar um projeto com Express.
O que é o Express?
O Express é um framework web rápido e flexível para Node.js, projetado para facilitar o desenvolvimento de aplicativos robustos e escaláveis. Ele fornece recursos como:
- Roteamento simples e poderoso
- Middleware para manipulação de requisições e respostas
- Integração com bancos de dados e outras bibliotecas
- Suporte para templates e APIs RESTful
Instalando o Express
Antes de começar, certifique-se de ter o Node.js instalado em sua máquina. Você pode verificar a instalação executando:
node -v
npm -v
Se o Node.js estiver instalado, siga os passos abaixo para configurar um projeto Express:
Criando um Novo Projeto Node.js
- Crie um diretório para o seu projeto e acesse-o pelo terminal:
mkdir meu-projeto-express cd meu-projeto-express
- Inicialize um novo projeto Node.js:
npm init -y
Isso criará um arquivopackage.json
com as configurações do projeto.
Instalando o Express
Agora, instale o Express como uma dependência do projeto:
npm install express
Após a instalação, o Express estará disponível para uso no projeto.
Criando um Servidor com Express
Agora que temos o Express instalado, vamos criar um servidor básico.
- No diretório do projeto, crie um arquivo chamado
server.js
. - Abra o arquivo e adicione o seguinte código:
const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Olá, mundo! Express está funcionando!'); }); app.listen(port, () => { console.log(`Servidor rodando em http://localhost:${port}`); });
- Salve o arquivo e execute o servidor com o comando:
node server.js
Agora, abra o navegador e acesse http://localhost:3000/
. Você verá a mensagem “Olá, mundo! Express está funcionando!”.
Criando Rotas no Express
O Express facilita a criação de rotas para diferentes URLs e métodos HTTP. Vamos adicionar algumas rotas ao nosso servidor.
Rotas GET e POST
Modifique o server.js
para incluir as seguintes rotas:
app.get('/sobre', (req, res) => {
res.send('Página Sobre');
});
app.post('/contato', (req, res) => {
res.send('Formulário de Contato recebido!');
});
Agora, ao acessar http://localhost:3000/sobre
, verá “Página Sobre”. Se fizer uma requisição POST para /contato
, receberá “Formulário de Contato recebido!”.
Parâmetros na URL
Podemos capturar parâmetros na URL usando req.params
.
app.get('/usuario/:nome', (req, res) => {
res.send(`Olá, ${req.params.nome}!`);
});
Agora, acessando http://localhost:3000/usuario/Ana
, a resposta será “Olá, Ana!”.
Usando Middleware no Express
Os middlewares no Express são funções que podem modificar a requisição ou a resposta antes de serem processadas pela aplicação.
Middleware Global
app.use((req, res, next) => {
console.log(`Requisição recebida: ${req.method} ${req.url}`);
next();
});
Esse middleware será executado para todas as requisições e exibirá informações no console.
Middleware para Servir Arquivos Estáticos
Podemos servir arquivos estáticos como CSS, imagens e JavaScript:
app.use(express.static('public'));
Crie um diretório public
e adicione arquivos como index.html
, styles.css
e imagens para serem acessados diretamente pelo navegador.
Trabalhando com JSON e Dados no Express
Podemos receber dados no formato JSON usando o middleware express.json()
.
Exemplo de API Recebendo JSON
app.use(express.json());
app.post('/dados', (req, res) => {
const { nome, idade } = req.body;
res.json({ mensagem: `Usuário ${nome}, idade ${idade} recebido!` });
});
Agora, envie uma requisição POST para /dados
com o seguinte JSON:
{
"nome": "Carlos",
"idade": 30
}
A resposta será:
{
"mensagem": "Usuário Carlos, idade 30 recebido!"
}
Conectando o Express a um Banco de Dados
O Express pode ser integrado com bancos de dados como MongoDB e MySQL. Vamos ver um exemplo com MongoDB usando mongoose
.
Instalando o Mongoose
npm install mongoose
Conectando ao MongoDB
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/meubanco', {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => console.log('Banco de dados conectado!'))
.catch(err => console.error('Erro na conexão com o banco de dados:', err));
Agora podemos criar modelos e manipular dados no banco.
Conclusão
O Express é um framework poderoso e flexível para desenvolvimento de aplicações web com Node.js. Neste artigo, cobrimos desde a instalação até a criação de rotas, uso de middleware, manipulação de JSON e conexão com bancos de dados.
Com essas bases, você pode expandir seus projetos e criar APIs RESTful eficientes e escaláveis. Boa codificação!