Categorias
front-end

Node.js: primeiras linhas de código para desbloquear seus estudos

Aprender Node.js rapidamente com nosso guia prático e abrangente para todos os níveis.

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.

Por Moisés Falcão

Reconhecido como Top Voice em Product Management no LinkedIn pela comunidade, com mais de 20 anos de experiência em produtos digitais. É Head de Produtos no Sistema Jornal do Commercio de Comunicação, além de articulista no Portal NE10, E-commerce Brasil e PapoDeDev. Também mantém a newsletter "Agilidade Executiva" no LinkedIn, onde compartilha insights sobre inovação, gestão de produtos e agilidade.

Deixe um comentário

Política de privacidade