Criar um aplicativo Angular com a API do Azure Cosmos DB para MongoDB - Criar um aplicativo Node.js Express
APLICA-SE A: MongoDB
Este tutorial com várias partes demonstra como criar um novo aplicativo escrito em Node.js com Express e Angular e, em seguida, conectá-lo à sua conta do Azure Cosmos DB configurada com a API do Azure Cosmos DB para MongoDB.
A Parte 2 do tutorial é a continuação da introdução e abrange as seguintes tarefas:
- Instalar a CLI do Angular e o TypeScript
- Criar um novo projeto com o Angular
- Utilizar a arquitetura Express para compilar a aplicação
- Testar o aplicativo em uma ferramenta de teste HTTP
Instruções de vídeo
Pré-requisitos
Antes de iniciar esta parte do tutorial, certifique-se de que já viu o vídeo de introdução.
Este tutorial também requer:
- A versão 8.4.0 do Node.js ou superior.
- Uma ferramenta de teste HTTP
- Recomendamos Insônia,
curl
, Visual Studio ouInvoke-RestMethod
- Recomendamos Insônia,
- O Visual Studio Code ou o seu editor de código preferido.
Gorjeta
Este tutorial orienta-o ao longo dos passos para criar a aplicação passo a passo. Se quiser transferir o projeto concluído, pode obter a aplicação terminada a partir do repositório angular-cosmosdb no GitHub.
Instalar a CLI do Angular e o TypeScript
Abra uma Janela da Linha de Comandos do Windows ou uma janela de Terminal do Mac e instale a CLI do Angular.
npm install -g @angular/cli
Introduza o comando seguinte na linha de comandos para instalar o TypeScript.
npm install -g typescript
Utilizar a CLI do Angular para criar um projeto novo
Na linha de comandos, mude para a pasta em que pretende criar o projeto novo e execute o comando abaixo. Este comando cria uma pasta e um projeto novos com o nome angular-cosmosdb e instala os componentes do Angular necessários para uma nova aplicação. Também utiliza a configuração mínima (--minimal) e especifica que o projeto utiliza Sass (uma sintaxe semelhante a CSS com o sinalizador --style scss).
ng new angular-cosmosdb --minimal --style scss
Após a conclusão do comando, mude os diretórios para a pasta src/client.
cd angular-cosmosdb
Em seguida, abra a pasta no Visual Studio Code.
code .
Utilizar a arquitetura Express para compilar a aplicação
No Visual Studio Code, no painel Explorer, clique com botão direito do rato na pasta src, clique em Nova Pasta e dê o nome server à mesma.
No painel Explorer, clique com o botão direito do rato na pasta server, clique em Novo Ficheiro e dê o nome index.js ao mesmo.
Novamente na linha de comandos, utilize o comando seguinte para instalar o analisador de corpo. Isto ajuda a nossa aplicação a analisar os dados JSON que são transmitidos através das APIs.
npm i express body-parser --save
No Visual Studio Code, copie o código abaixo no ficheiro index.js. Este código:
- Referencia o Express
- Extrai o analisador de corpo para ler os dados JSON no corpo dos pedidos
- Utiliza uma funcionalidade incorporada, denominada caminho
- Define variáveis de raiz para tornar mais fácil localizar o código
- Configura uma porta
- Inicia o Express
- Diz à aplicação como utilizar o middleware que vamos utilizar para servir o servidor
- Serve tudo o que está na pasta dist, que será o conteúdo estático
- Serve a aplicação e index.html para os pedidos GET que não forem encontrados no servidor (para ligações avançadas)
- Inicia o servidor com app.listen
- Usa uma função de seta para registrar que a porta está ativa
const express = require('express'); const bodyParser = require('body-parser'); const path = require('path'); const routes = require('./routes'); const root = './'; const port = process.env.PORT || '3000'; const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(express.static(path.join(root, 'dist/angular-cosmosdb'))); app.use('/api', routes); app.get('*', (req, res) => { res.sendFile('dist/angular-cosmosdb/index.html', {root}); }); app.listen(port, () => console.log(`API running on localhost:${port}`));
No Visual Studio Code, no painel Explorer, clique com botão direito do rato na pasta server e clique em Novo ficheiro. Dê o nome routes.js ao ficheiro novo.
Copie o código seguinte para routes.js. Este código:
- Referencia o router do Express
- Obtém os heroes
- Envia o JSON novamente para um hero definido
const express = require('express'); const router = express.Router(); router.get('/heroes', (req, res) => { res.send(200, [ {"id": 10, "name": "Starlord", "saying": "oh yeah"} ]) }); module.exports=router;
Guarde todos os seus ficheiros modificados.
No Visual Studio Code, clique no botão Depurar , clique no botão Engrenagem . O novo ficheiro launch.json é aberto no Visual Studio Code.
Na linha 11 do ficheiro launch.json, altere
"${workspaceFolder}\\server"
para"program": "${workspaceRoot}/src/server/index.js"
e guarde-o.Clique no botão Iniciar Depuração para executar o aplicativo.
A aplicação deverá ser executada sem erros.
Testar os pontos de extremidade HTTP do aplicativo
Agora use uma ferramenta de teste HTTP para emitir uma
GET
solicitação parahttp://localhost:3000/api/heroes
.A resposta mostra que o aplicativo está instalado e funcionando localmente.
Próximos passos
Nesta parte do tutorial, fez o seguinte:
- Criou um projeto Node.js com a CLI do Angular
- Testou o aplicativo usando uma ferramenta de teste HTTP
Pode avançar para a parte seguinte do tutorial, para criar a IU.
Build the UI with Angular (Criar a IU com o Angular)
Tentando fazer o planejamento de capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre seu cluster de banco de dados existente para planejamento de capacidade.
- Se tudo o que você sabe é o número de vcores e servidores em seu cluster de banco de dados existente, leia sobre como estimar unidades de solicitação usando vCores ou vCPUs
- Se você souber as taxas de solicitação típicas para sua carga de trabalho de banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB