Exercício – Criar um aplicativo Web Express
A Tailwind Traders tem a tarefa de criar uma API simples usando a estrutura Expresso. O varejista online deseja avaliar o Express para determinar se é fácil trabalhar com ele. Como parte dessa avaliação, ele deseja que você crie um aplicativo Web que atenda rotas diferentes.
Abrir projeto no contêiner de desenvolvimento
Use o contêiner de desenvolvimento fornecido para concluir os exercícios neste módulo. O contêiner de desenvolvimento é pré-configurado com as ferramentas necessárias para concluir os exercícios.
Inicie o processo para criar um GitHub Codespace no branch
main
do repositório GitHubMicrosoftDocs/node-essentials
.Na página Criar codespace , analise as definições de configuração do codespace e selecione Criar novo codespace
Aguarde até que o codespace seja iniciado. Esse processo de inicialização pode levar alguns minutos.
Abra um novo terminal no codespace.
Valide se o .NET 7 está instalado em seu ambiente:
node --version
O contêiner de desenvolvimento usa uma versão Node.js LTS, como
v20.5.1
. A versão exata pode ser diferente.Os exercícios restantes neste projeto ocorrem no contexto desse contêiner de desenvolvimento.
Criar um aplicativo Web básico com o Express
Crie um aplicativo básico que processa solicitações.
Abra um terminal no contêiner de desenvolvimento.
Use os seguintes comandos para criar um novo projeto do Node.js e instalar a estrutura Expresso:
mkdir my-express-app cd my-express-app npm init -y npm install express
O comando
init
cria um arquivo package.json padrão para seu projeto Node.js. O comandoinstall
instala a estrutura Express.Em um editor de código, abra o arquivo package.json.
Na seção
dependencies
, localize a entradaexpress
:"dependencies": { "express": "^4.18.2" ... }
Essa entrada indica que a estrutura Express está instalada. Sua versão pode ser mais recente. Este código de exemplo usa a versão 4 da estrutura Expresso.
Em um editor de código na pasta
my-express-app
, crie um arquivo chamado app.js e adicione o seguinte código:const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => res.send('Hello World!')); app.listen(port, () => console.log(`Example app listening on port ${port}! http://localhost:${port}/`));
O código cria uma instância de um aplicativo Express invocando o método
express()
. Essa é a função de nível superior exportada pelo módulo Expresso. Toda a configuração e funcionalidade adicionais são adicionadas por meio da variávelapp
.Observe como o código configura uma rota para barra
/
, a raiz, com a sintaxe:app.get('/', (req, res) => res.send('Hello World!'));
Após a configuração da rota, o código inicia o aplicativo Web invocando o método
listen()
:app.listen(port, () => console.log('Example app listening on port ${port}!'));
Abra um terminal para essa subpasta clicando com o botão direito do mouse no nome da subpasta e selecionando Abrir no terminal integrado.
No terminal, execute o seguinte comando para iniciar o aplicativo Web Express:
node app.js
Você verá a seguinte saída:
Example app listening at http://localhost:3000
Essa saída significa que o aplicativo está em funcionamento e pronto para receber solicitações.
Você pode clicar com o botão direito do mouse e selecionar a URL no terminal ou abrir o navegador quando o Visual Studio Code mostrar uma notificação perguntando se deseja Abrir no navegador. Você deve ver o seguinte resultado:
Hello World!
No terminal, pressione CTRL + C para interromper o programa Express na Web.
Criar um aplicativo Web que retorna dados JSON
Use o mesmo arquivo app.js para adicionar uma nova rota.
Em um editor de código, abra o arquivo
app.js
.Adicione o seguinte código após a sintaxe
app.get
existente após o código para a primeira rota,/
:app.get('/products', (req, res) => { const products = [ { id: 1, name: 'hammer' }, { id: 2, name: 'screwdriver' }, { id: 3, name: 'wrench' }, ]; res.json(products); });
Verifique se o arquivo app.js se parece com este exemplo:
const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => res.send('Hello World!')); app.get('/products', (req, res) => { const products = [ { id: 1, name: 'hammer' }, { id: 2, name: 'screwdriver' }, { id: 3, name: 'wrench' }, ]; res.json(products); }); app.listen(port, () => { console.log(`Example app listening on port ${port}! http://localhost:${port}/`); });
Salve as alterações no arquivo app.js e feche-o.
No terminal, execute o seguinte comando para reiniciar o aplicativo Web Express:
node app.js
Você deve ver o seguinte resultado:
Example app listening at http://localhost:3000
Em um navegador, retorne à guia da etapa anterior e adicione a nova rota,
/products
, ao final da URL. Você deverá visualizar a seguinte saída do JSON:[{"id":1,"name":"hammer"},{"id":2,"name":"screwdriver"},{"id":3,"name":"wrench"}]
No terminal, pressione CTRL + C para interromper o programa Express na Web.
Parabéns! Você implementou uma segunda rota que pode fornecer conteúdo JSON estático.