1️⃣ Por que o Express existe?

No capítulo anterior você criou servidores com o módulo http do Node. Funcionou — mas observe o que acontece quando o sistema começa a crescer:

import http from 'http';

const servidor = http.createServer((req, res) => {

    if (req.url === '/' && req.method === 'GET') {
        res.writeHead(200, { 'Content-Type': 'text/html' });
        res.end('<h1>Página inicial</h1>');
    }

    else if (req.url === '/usuarios' && req.method === 'GET') {
        res.writeHead(200, { 'Content-Type': 'application/json' });
        res.end(JSON.stringify([]));
    }

    else if (req.url === '/usuarios' && req.method === 'POST') {
        // precisaria ler o body manualmente...
    }

    else if (req.url === '/produtos' && req.method === 'GET') {
        // mais um if...
    }

    else {
        res.writeHead(404);
        res.end('Não encontrado');
    }

});

Com 5 rotas já fica difícil. Com 20 rotas, é um pesadelo.


🧠 A Solução

O Express é um framework criado para organizar exatamente isso.

Pense assim:

Node.js puro Express
Kit de ferramentas bruto Oficina organizada
Você monta tudo na mão Estrutura pronta para usar
if/else para cada rota app.get(), app.post()...
Ler body manualmente req.body pronto
Servir arquivos manualmente express.static()

O Express não substitui o Node — ele roda em cima do Node e organiza o trabalho.


⭐ Por que o Express é padrão no mercado?

Principais motivos são:


2️⃣ Instalando o Express

📦 Criando o projeto

mkdir meu-servidor
cd meu-servidor
npm init -y
npm install express pg

📝 Configurando ES Modules

No package.json adicione "type": "module":

{
  "name": "meu-servidor",
  "version": "1.0.0",
  "type": "module",
  "dependencies": {
    "express": "^4.x.x",
    "pg": "^8.x.x"
  }
}

📁 Estrutura do projeto