image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Iasmim Capra
Iasmim Capra03/11/2023 12:56
Compartilhe
Nexa - Análise Avançada de Imagens e Texto com IA na AWSRecomendados para vocêNexa - Análise Avançada de Imagens e Texto com IA na AWS

Back-end / Express

  • #Express

1- Introdução

O Back-end é a parte de um aplicativo que lida com a lógica do servidor, banco de dados e outras tarefas relacionadas ao processamento de dados. Ele é responsável por receber solicitações do cliente, processá-las e enviar uma resposta adequada. O Express é um framework Node.js que ajuda a criar aplicativos da web do lado do servidor. Ele fornece uma estrutura robusta para criar aplicativos da web e APIs RESTful. O Express é um dos frameworks mais populares para o desenvolvimento de aplicativos da web do lado do servidor.

O Node.js é um ambiente de tempo de execução JavaScript que permite que os desenvolvedores criem aplicativos da web do lado do servidor em JavaScript. Ele é usado fora do contexto de um navegador e é executado diretamente no computador ou no servidor. O Node.js é projetado para otimizar a taxa de transferência e a escalabilidade em aplicativos da web. Ele é uma ótima combinação para resolver muitos problemas comuns no desenvolvimento da web, como aplicações em tempo real.

O Express é construído em cima do Node.js e fornece uma estrutura robusta para criar aplicativos da web e APIs RESTful. Ele oferece soluções para gerenciar solicitações de diferentes verbos HTTP em diferentes URLs e integrar "view engines" para inserir dados nos templates. O Express é altamente personalizável e pode ser usado para criar aplicativos da web de qualquer tamanho.


# Express.js Cheat Sheet

Este é um guia rápido para os conceitos básicos do Express.js, um framework para aplicações web para Node.js.

## Índice

- [Introdução](#introdução)

- [Instalação](#instalação)

- [Seu Primeiro Servidor](#seu-primeiro-servidor)

- [Routing](#routing)

- [Middleware](#middleware)

- [Manipulação de Erros](#manipulação-de-erros)

- [Trabalhando com Dados](#trabalhando-com-dados)

- [Templates e Views](#templates-e-views)

- [APIs e JSON](#apis-e-json)

- [Segurança](#segurança)

- [Desempenho](#desempenho)

- [Testes](#testes)

- [Deploy](#deploy)

## Introdução

Express.js é um framework para Node.js que proporciona recursos mínimos para construção de servidores web e APIs. É projetado para ser flexível e facilita a configuração de rotas e middlewares para responder a requisições HTTP.

## Instalação

Para instalar o Express.js, você precisa ter o Node.js e o NPM (Node Package Manager) instalados em seu ambiente. O NPM vem com o Node.js, então, ao instalar o Node.js, você também terá o NPM. Você pode verificar se eles estão instalados corretamente com os seguintes comandos: 

node --version

npm --version

Se esses comandos retornarem as versões instaladas, você está pronto para continuar. Caso contrário, você precisa instalar o Node.js.

Instalação do Node.js:

Para instalar o Node.js, visite nodejs.org e baixe a versão recomendada para o seu sistema operacional. O instalador do Node.js inclui o NPM.

Configuração do projeto Node.js:

Uma vez que o Node.js e o NPM estejam instalados, você pode criar e configurar seu projeto de back-end. Aqui estão os passos:

1- Crie uma nova pasta para o seu projeto e navegue até ela:

mkdir meu-projeto-backend

cd meu-projeto-backend

2- Inicie um novo projeto Node.js:

npm init -y

O comando npm init -y cria um novo arquivo package.json com as configurações padrão. Se você quiser personalizar as configurações, você pode omitir o -y e responder às perguntas interativas.

Então, você pode adicionar o Express ao seu projeto com o seguinte comando:

npm install express --save

Isso vai adicionar o Express às dependências do seu projeto e atualizar o arquivo package.json automaticamente.

3- Crie um novo arquivo para o seu aplicativo, como app.js:

touch app.js # ou use qualquer editor de texto para criar o arquivo

Execute o servidor:

node app.js

4- (Opcional) Instale o Nodemon para desenvolvimento:

O Nodemon é uma ferramenta que ajuda a desenvolver aplicações baseadas em Node.js ao reiniciar automaticamente o servidor quando detecta alterações no arquivo.

npm install --save-dev nodemon

Você pode então adicionar um script no seu package.json para executar o servidor com o Nodemon:

"scripts": {

  "start": "node app.js",

  "dev": "nodemon app.js"

}

Agora você pode iniciar seu servidor em modo de desenvolvimento com npm run dev.

Seu Primeiro Servidor

Para criar um servidor basico com Express, você pode usar o seguinte código:

const express = require('express');

const app = express();

app.get('/', (req, res) => {

  res.send('Olá, Mundo!');

});

app.listen(3000, () => {

  console.log('Servidor executando na porta 3000');

});

Routing

O roteamento refere-se a como uma aplicação responde a uma solicitação do cliente para um determinado endpoint, que é uma URI (ou caminho) e um método de solicitação HTTP específico (GET, POST, etc.).

app.get('/about', (req, res) => {

  res.send('Sobre nós');

});

app.post('/login', (req, res) => {

  // Lógica de autenticação

});

Middleware

Middleware são funções que têm acesso ao objeto de solicitação (req), ao objeto de resposta (res) e à próxima função de middleware no ciclo de solicitação-resposta do aplicativo.

app.use((req, res, next) => {

  console.log('Middleware 1');

  next();

});

app.use((req, res, next) => {

  console.log('Middleware 2');

  next();

});

Manipulação de Erros

O Express vem com um middleware de manipulação de erros integrado que você pode personalizar.

app.use((err, req, res, next) => {

  console.error(err.stack);

  res.status(500).send('Algo deu errado!');

});

Trabalhando com Dados

Express pode ser facilmente integrado com bancos de dados para armazenar e recuperar dados.

// Exemplo de integração com MongoDB

const MongoClient = require('mongodb').MongoClient;

MongoClient.connect('url-do-seu-db', (err, client) => {

  // Lógica de banco de dados

});

Templates e Views

Express pode ser usado com sistemas de template como Pug, EJS, Handlebars, etc., para gerar HTML a partir de templates.

app.set('view engine', 'pug');

app.get('/', (req, res) => {

  res.render('index', { title: 'Hey', message: 'Hello there!' });

});

APIs e JSON

Express pode enviar respostas JSON, o que o torna ideal para construir APIs.

app.get('/api/users', (req, res) => {

  res.json({ users: ['user1', 'user2'] });

});

Segurança

Use módulos como helmet para definir cabeçalhos HTTP relacionados à segurança para proteger seu app.

const helmet = require('helmet');

app.use(helmet());

Desempenho

O Express pode ser otimizado para produção, comprimindo respostas, caching de views, etc.

const compression = require('compression');

app.use(compression());

Testes

Você pode testar seu aplicativo Express com ferramentas como Mocha e Chai.

// Exemplo de teste com Mocha e Chai

const expect = require('chai').expect;

const request = require('request');

describe('Index Page', function() {

  it('status', function(done){

    request('http://localhost:3000', function(error, response, body) {

      expect(response.statusCode).to.equal(200);

      done();

    });

  });

});

Deploy

O deploy de um app Express pode ser feito em plataformas como Heroku, AWS, entre outros.

# Exemplo de deploy no Heroku

git add .

git commit -am "make it better"

git push heroku master

Compartilhe
Recomendados para você
Microsoft Certification Challenge #3 DP-100
Decola Tech 2025
Microsoft AI for Tech - Copilot Studio
Comentários (0)
Recomendados para você