Aprender Node.js pode parecer desafiador no início, mas com as ferramentas e recursos certos, você pode dominar essa poderosa plataforma de desenvolvimento rapidamente. Neste guia, exploraremos desde os fundamentos até técnicas avançadas para te ajudar a se tornar um expert.
Instalando Node.js
Para aprender Node.js é essencial começar do básico, e isso inclui a instalação. Acesse o site oficial de Node.js (https://nodejs.org/) e faça o download da versão LTS (Long Term Support). Ela é recomendada para a maioria dos usuários e garante maior estabilidade.
Após o download, siga os passos de instalação típicos de qualquer programa. No Windows, você precisará apenas executar o arquivo .exe e seguir as instruções. No macOS, você deve usar o instalador .pkg. Para Linux, utilize os seguintes comandos:
sudo apt update sudo apt install nodejs sudo apt install npm
Criando seu primeiro projeto Node.js
Com o Node.js instalado, é hora de criar seu primeiro projeto. Inicialmente, crie uma nova pasta para o seu projeto. Por exemplo, você pode chamá-la de meu-projeto-node:
mkdir meu-projeto-node cd meu-projeto-node
Dentro da pasta do projeto, inicialize um novo projeto Node.js utilizando o comando npm init. Esse comando criará um arquivo package.json que contém informações sobre o seu projeto e suas dependências. Siga as instruções e preencha as informações necessárias.
Agora, crie um arquivo chamado index.js e abra-o em seu editor de código preferido. Esse será o arquivo principal do seu projeto.
Escrevendo suas primeiras linhas de código
No arquivo index.js, comece escrevendo um simples console.log para garantir que tudo está funcionando corretamente:
console.log('Olá, mundo!');
Para executar o código, volte ao terminal e digite:
node index.js
Se tudo estiver configurado corretamente, você verá a mensagem “Olá, mundo!” no terminal. Parabéns, você escreveu suas primeiras linhas de código em Node.js!
Trabalhando com Módulos
Node.js é construído com uma arquitetura modular, o que significa que você pode dividir seu código em diferentes arquivos e importar módulos conforme a necessidade. Vamos criar um módulo simples.
Crie um novo arquivo chamado mensagem.js e escreva o seguinte código:
function mensagem() {
return 'Olá, este é um módulo!';
}
module.exports = mensagem;
Agora, no arquivo index.js, importe e utilize o módulo mensagem:
const mensagem = require('./mensagem');
console.log(mensagem());
Execute o código novamente com node index.js e você verá a mensagem retornada pelo módulo.
Utilizando pacotes de terceiros
O Node.js possui um enorme ecossistema de pacotes de terceiros que podem facilitar seu trabalho. Um dos mais populares é o express, um framework para construção de servidores web. Vamos instalá-lo e utilizá-lo em nosso projeto.
No terminal, dentro da pasta do seu projeto, digite:
npm install express
Crie um novo arquivo chamado server.js e adicione o seguinte código:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Bem-vindo ao seu primeiro servidor com Express!');
});
app.listen(3000, () => {
console.log('Servidor rodando na porta 3000');
});
Para executar o servidor, digite no terminal:
node server.js
Abra seu navegador e acesse http://localhost:3000. Você verá a mensagem “Bem-vindo ao seu primeiro servidor com Express!”.
Manipulando Rotas e Middlewares
Express permite criar rotas e middlewares, tornando mais fácil a criação de aplicações web complexas. Vamos adicionar rotas adicionais e um middleware simples.
No arquivo server.js, adicione:
app.use((req, res, next) => {
console.log(`Requisição recebida: ${req.method} ${req.url}`);
next();
});
app.get('/sobre', (req, res) => {
res.send('Essa é a página sobre.');
});
Esse middleware irá logar cada requisição recebida. Agora, ao acessar http://localhost:3000/sobre, você verá a nova mensagem.
Trabalhando com o Body Parser
Para manejar dados enviados via POST, instale o pacote body-parser:
npm install body-parser
No arquivo server.js, adicione:
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.post('/dados', (req, res) => {
console.log(req.body);
res.send('Dados recebidos com sucesso');
});
Isso permitirá capturar e manipular dados enviados em requisições POST.
Conectando com um Banco de Dados
Conectar uma aplicação Node.js a um banco de dados é um passo necessário para muitos projetos. Usaremos o MongoDB, um banco de dados NoSQL, e o mongoose, uma biblioteca que facilita a interação com ele. Instale com:
npm install mongoose
Adicione ao seu código:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/meuBancoDeDados', {
useNewUrlParser: true,
useUnifiedTopology: true
}, () => console.log('Conectado ao MongoDB'));
// Definindo um esquema e modelo
const esquemaUsuario = new mongoose.Schema({
nome: String,
email: String,
senha: String
});
const Usuario = mongoose.model('Usuario', esquemaUsuario);
app.post('/registrar', async (req, res) => {
const { nome, email, senha } = req.body;
const novoUsuario = new Usuario({ nome, email, senha });
await novoUsuario.save();
res.send('Usuário registrado com sucesso');
});
Essa configuração permite armazenar e recuperar dados diretamente do MongoDB.
Node.js com Promises e Async/Await
Node.js é assíncrono por natureza. Trabalhar com promises e async/await é crucial. Veja como lidar com uma situação assíncrona:
// Usando Promises
function tarefaDemorada(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
tarefaDemorada(2000).then(() => console.log('Tarefa completada'));
// Usando Async/Await
async function executarTarefa() {
await tarefaDemorada(2000);
console.log('Tarefa completada com async/await');
}
executarTarefa();
Conclusão
Neste post abordamos o início dos estudos em Node.js, desde a instalação até a criação de um servidor web simples e conexão com banco de dados. Continue explorando e praticando para consolidar seus conhecimentos.
🤝 Participe da Comunidade Papo de Dev no WhatsApp
Quer continuar a conversa, tirar dúvidas ou trocar experiências com quem vive o universo tech no dia a dia?
🚀 Junte-se à nossa comunidade no WhatsApp e conecte-se com devs iniciantes e experientes de todo o Brasil. É gratuito, colaborativo e feito pra quem quer aprender e evoluir junto!
