Aqui está o tutorial reescrito de forma mais didática, com explicações claras, diretas e em ordem lógica, mostrando o que cada passo faz e por que é necessário.
Este guia explica, de forma objetiva, cada etapa para criar e executar uma API básica usando Node.js, Express e Nodemon com JavaScript puro (ES Modules).
npm installnpm run devO terminal mostrará:
Servidor rodando em http://localhost:3000
Abra o link no navegador.
A seguir está o fluxo completo da criação do zero até rodar a API.
Primeiro criamos a pasta do projeto e inicializamos o Node.js:
mkdir minha-api
cd minha-api
npm init -yO que isso faz?
- Cria uma pasta para a API.
- Gera o arquivo
package.jsoncom as configurações do projeto.
Instale o Express (servidor web) e o Nodemon (reinicia o servidor automaticamente sempre que você altera o código).
npm install express
npm install -D nodemonPor que isso é importante?
- Express: permite criar rotas HTTP.
- Nodemon: evita rodar o
nodemanualmente a cada alteração.
Adicione a linha para permitir uso de ES Modules (import/export):
Isso ativa o modo moderno do JavaScript dentro do Node.
Serve para ignorar arquivos que não devem ir para o Git (como node_modules).
touch .gitignoreConteúdo:
node_modules
dist
*.log
*.tsbuildinfoCrie a pasta src e o arquivo da aplicação:
📄 src/index.js
import express from "express"
const app = express()
const PORT = 3000
app.get("/", (req, res) => {
res.send("API com JavaScript e Nodemon 🚀")
})
app.listen(PORT, () => {
console.log(`Servidor rodando em http://localhost:${PORT}`)
})O que está acontecendo aqui?
- Criamos o servidor Express.
- Definimos a rota
/. - Subimos o servidor na porta 3000.
Crie um arquivo de configuração para facilitar o uso:
📄 nodemon.json
{
"watch": ["src"],
"ext": "js",
"ignore": ["node_modules"]
}O que isso faz?
- Observa alterações na pasta
src. - Executa arquivos
.js. - Ignora a pasta
node_modules.
Adicione o script de desenvolvimento:
"scripts": {
"dev": "nodemon src/index.js"
}Por que isso é útil? Permite rodar o servidor com:
npm run devSem precisar digitar comandos longos.
Execute:
npm run devSe tudo estiver certo, o terminal mostrará:
Servidor rodando em http://localhost:3000
Agora é só abrir no navegador:
Você configurou uma API Node.js moderna, organizada e com recarregamento automático (hot reload) usando Nodemon.
Cria uma nova conta de usuário.
curl -X POST http://localhost:3000/users/register \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "senha123"
}'{
"id": 1,
"email": "[email protected]",
"createdAt": "2025-12-05T10:30:00.000Z"
}- ✅ Email é obrigatório
- ✅ Senha é obrigatória
- ✅ Email deve ter formato válido (contendo @ e domínio)
- ✅ Senha deve ter no mínimo 6 caracteres
- ✅ Email não pode estar em uso (409 Conflict)
Email inválido (400)
{
"error": "Formato de email inválido"
}Senha muito curta (400)
{
"error": "Senha deve ter no mínimo 6 caracteres"
}Email já cadastrado (409)
{
"error": "Email já está em uso"
}Próximos passos:
✔ Rotas separadas ✔ Controllers e Services ✔ Tratamento de erros ✔ Middlewares ✔ Arquitetura em camadas