Express.js é um framework web minimalista e flexível para Node.js. Ele simplifica o processo de criação de servidores e APIs, fornecendo ferramentas e funcionalidades que tornam o desenvolvimento mais rápido e eficiente.
Principais Características do Express.js
- Minimalista:
- Express fornece apenas o essencial, permitindo que você adicione pacotes e middleware conforme necessário.
- Não impõe uma estrutura rígida, o que dá mais liberdade ao desenvolvedor.
- Baseado em Middleware:
- Middleware são funções que manipulam requisições (request) e respostas (response).
- É possível encadear middleware para lidar com autenticação, manipulação de dados, logging, entre outros.
- Suporte a Roteamento:
- Permite definir rotas para diferentes URLs e métodos HTTP (GET, POST, PUT, DELETE).
- Suporta parâmetros dinâmicos e expressões regulares nas rotas.
- Integrável com Banco de Dados:
- Funciona bem com MongoDB (no MERN Stack), mas também pode ser usado com outros bancos de dados, como MySQL, PostgreSQL, ou SQLite.
- Extensível:
- Possui uma grande quantidade de bibliotecas e módulos para tarefas comuns, como autenticação (Passport.js), segurança (Helmet.js), ou upload de arquivos (Multer).
Instalação
Para começar com Express.js, você precisa ter o Node.js instalado. Em seguida, instale o Express usando o npm (Node Package Manager):
bashCopiar códigonpm install express
Criando um Servidor com Express.js
Aqui está um exemplo básico para criar um servidor com Express:
javascriptCopiar código// Importando o Express
const express = require('express');
const app = express();
// Rota principal
app.get('/', (req, res) => {
res.send('Bem-vindo ao Express.js!');
});
// Iniciar o servidor
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Servidor rodando em http://localhost:${PORT}`);
});
Definindo Rotas
O Express permite criar rotas para diferentes métodos HTTP e URLs.
Exemplos:
javascriptCopiar código// GET
app.get('/usuarios', (req, res) => {
res.send('Lista de usuários');
});
// POST
app.post('/usuarios', (req, res) => {
res.send('Usuário criado');
});
// PUT
app.put('/usuarios/:id', (req, res) => {
const userId = req.params.id;
res.send(`Usuário ${userId} atualizado`);
});
// DELETE
app.delete('/usuarios/:id', (req, res) => {
const userId = req.params.id;
res.send(`Usuário ${userId} deletado`);
});
Middleware
Os middlewares são usados para processar solicitações antes de enviá-las para a rota.
Exemplo de Middleware:
javascriptCopiar código// Middleware global para logar as requisições
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next(); // Continua para a próxima função ou rota
});
Middleware embutidos no Express:
- express.json(): Analisa o corpo da requisição como JSON.
- express.urlencoded(): Lida com dados de formulários.
- express.static(): Servir arquivos estáticos.
Exemplo:
javascriptCopiar códigoapp.use(express.json());
app.use(express.urlencoded({ extended: true }));
Integração com MongoDB
Usando o Mongoose (um ORM para MongoDB), é possível integrar o Express com um banco de dados.
Exemplo:
javascriptCopiar códigoconst mongoose = require('mongoose');
// Conectando ao MongoDB
mongoose.connect('mongodb://localhost/meuBanco', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
// Definindo um modelo
const Usuario = mongoose.model('Usuario', {
nome: String,
idade: Number,
});
// Rota para criar um usuário
app.post('/usuarios', async (req, res) => {
const usuario = new Usuario(req.body);
await usuario.save();
res.send(usuario);
});
Vantagens do Express.js
- Fácil de usar: Ideal tanto para iniciantes quanto para desenvolvedores experientes.
- Alta performance: Funciona diretamente no Node.js.
- Flexibilidade: Adicione apenas o que você precisa.
- Grande comunidade: Extensa documentação e suporte da comunidade.
Casos de Uso
- APIs RESTful.
- Servidores de backend para aplicações web e móveis.
- Aplicações de tempo real (como chats ou notificações).
Se precisar de ajuda para configurar ou criar algo com Express.js, posso ajudar! 😊
Deixe um comentário