Tutorial sobre Node.js e Express

Jul 8, 2024

Tutorial sobre Node.js e Express

Instalação do Node.js

  1. Acesse o Google e procure por 'Node.js download'.
  2. Baixe a versão 8.3 LTS.
  3. Instale o Node.js e o Visual Studio Code (VS Code).

Criando e Executando um Script com Node.js

  1. Crie uma nova pasta no desktop e nomeie como 'node-js-tutorial'.
  2. Abra o VS Code e abra a pasta criada.
  3. Crie um novo arquivo e salve como app.js.
  4. Escreva o código console.log('Hello World from Node.js');.
  5. Abra o terminal integrado no VS Code (View > Integrated Terminal).
  6. Execute o script com node app.js.

Utilizando o Command Prompt

  1. Abra o prompt de comando e navegue até a pasta do projeto com cd <path_do_projeto>.
  2. Execute o script com node app.js.

Módulos Node.js

  1. Crie um novo arquivo tutorial.js.
  2. Escreva uma função de soma e exporte-a usando module.exports.
  3. No app.js, importe usando require('./tutorial').
  4. Utilize a função importada e teste.
  5. Para exportar múltiplas funções/variáveis, adicione-as a module.exports como propriedades de um objeto.
  6. Utilize console.log para verificar o que foi importado.

EventEmitter

  1. Requerer o módulo events e criar uma instância do EventEmitter.
  2. Adicione ouvintes de eventos com on e emita eventos com emit.
  3. Estenda a classe EventEmitter para criar classes personalizadas com eventos.

Módulo readline

  1. Requerer o módulo readline.
  2. Crie uma interface para ler a entrada do usuário.
  3. Utilize o método question para fazer perguntas e ler a resposta.
  4. Adicione listeners para eventos como close para tratar a entrada do usuário.

Módulo fs

  1. Requerer o módulo fs.
  2. Utilize métodos como writeFile, readFile, rename, appendFile e unlink para manipulação de arquivos.
  3. Para manipulação de diretórios, utilize mkdir e rmdir.
  4. Use readdir e unlink para deletar múltiplos arquivos.

Streams

  1. Crie streams legíveis e graváveis com createReadStream e createWriteStream.
  2. Utilize eventos como data para ler dados em pedaços.
  3. Utilize o método pipe para transferir dados diretamente entre streams.

Compressão com zlib

  1. Requerer o módulo zlib.
  2. Crie streams de compressão com createGzip e createGunzip.
  3. Utilize pipe para comprimir e descomprimir arquivos em fluxo.

Criando um servidor HTTP

  1. Requerer o módulo http e crie um servidor com createServer.
  2. Utilize o objeto request para processar a solicitação e o objeto response para enviar respostas.
  3. Especifique o listen em uma porta para seu servidor ouvir as solicitações.

Servindo arquivos estáticos

  1. Utilize fs para ler arquivos estáticos e http para servir arquivos como HTML, JSON, e imagens.
  2. Crie streams legíveis e escreva no response do servidor.

Package.json

  1. Inicialize um projeto Node.js com npm init.
  2. Preencha as informações solicitadas ou utilize a flag -y para aceitar os padrões.
  3. Instale pacotes com npm install <pacote> e realize o require no projeto.
  4. Remova pacotes com npm uninstall <pacote>.

Versionamento Semântico

  1. Aprenda sobre os três números de versão X.Y.Z, onde:
    • X é a versão major (mudanças e quebras).
    • Y é a versão minor (novas funcionalidades sem quebras).
    • Z é a versão patch (correções de bugs).
  2. Utilize símbolos ^ e ~ para controlar atualizações automáticas.

Servidor Express

  1. Inicialize um servidor express e defina uma rota básica.
  2. Utilize res.send para enviar respostas simples.
  3. Defina múltiplas rotas com diferentes métodos HTTP (get, post, etc).

Parâmetros de Rota e Query

  1. Utilize parâmetros de rota para dados obrigatórios.
  2. Utilize query strings para dados opcionais.
  3. Acesse os parâmetros via req.params e req.query.

Servindo arquivos estáticos com Express

  1. Configure middleware para servir arquivos estáticos com express.static.
  2. Servir diretórios e especificar a pasta de onde os arquivos serão servidos.

Lidando com POST Requests

  1. Utilize o middleware body-parser para lidar com dados de formulários.
  2. Configure body-parser para URL-encoded e JSON.
  3. Acesse os dados enviados via POST com req.body.

Middleware Customizado

  1. Crie funções middleware para processar solicitações antes de chegar às rotas.
  2. Middleware pode modificar req e res, e deve chamar next() para avançar.
  3. Utilize app.use para aplicar middleware globalmente ou em rotas específicas.

Rotas em Express

  1. Utilize express.Router para modularizar e separar rotas em diferentes arquivos.
  2. Defina o caminho base e exporte o roteador.
  3. Importe e utilize o roteador no app.js principal.

Templates EJS

  1. Configure o motor de visualização ejs em express.
  2. Crie templates .ejs e utilize variáveis dinâmicas injetadas via res.render.
  3. Utilize estruturas de controle como loops e condicionais dentro de templates ejs.