Primeiros Passos com Express em Node.js

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

  1. Crie um diretório para o seu projeto e acesse-o pelo terminal: mkdir meu-projeto-express cd meu-projeto-express
  2. Inicialize um novo projeto Node.js: npm init -y Isso criará um arquivo package.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.

  1. No diretório do projeto, crie um arquivo chamado server.js.
  2. 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}`); });
  3. 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!