Een Angular-app maken met de API van Azure Cosmos DB voor MongoDB - een Node.js Express-app maken
VAN TOEPASSING OP: MongoDB
Deze meerdelige zelfstudie laat zien hoe u een nieuwe app maakt die is geschreven in Node.js met Express en Angular en deze vervolgens verbindt met uw Azure Cosmos DB-account dat is geconfigureerd met de API van Azure Cosmos DB voor MongoDB.
Deel 2 van de zelfstudie bouwt voort op de inleiding en beschrijft de volgende taken:
- De Angular CLI en TypeScript installeren
- Een nieuw project maken met Angular
- De app uitbouwen met het Express-framework
- De app testen in Postman
Video-overzicht
Vereisten
Bekijk de introductievideo voordat u begint aan dit deel van de zelfstudie.
Voor deze zelfstudie hebt u verder nodig:
- Node.js versie 8.4.0 of hoger.
- Postman
- Visual Studio Code of uw favoriete code-editor.
Tip
Aan de hand van deze zelfstudie wordt u stapsgewijs begeleid bij het maken van de toepassing. Als u het voltooide project wilt downloaden, kunt u de voltooide app vinden in de angular-cosmosdb-opslagplaats op GitHub.
De Angular CLI en TypeScript installeren
Open een Windows-opdrachtprompt of Mac-terminalvenster en installeer de Angular CLI.
npm install -g @angular/cli
Installeer TypeScript door in de opdrachtprompt de volgende opdracht te typen.
npm install -g typescript
De Angular CLI gebruiken om een nieuw project te maken
Navigeer in de opdrachtprompt naar de map waar u het nieuwe project wilt opslaan en voer de volgende opdracht uit. Met deze opdracht worden een nieuwe map en een nieuw project gemaakt met de naam angular-cosmosdb. Ook worden de Angular-componenten geïnstalleerd die voor een nieuwe app zijn vereist. Tevens worden de minimale instellingen gebruikt (--minimal) en wordt opgegeven dat het project gebruikmaakt van Sass (een CSS-achtige syntaxis met de vlag --style scss).
ng new angular-cosmosdb --minimal --style scss
Als de opdracht is voltooid, wijzigt u de mappen in de src-/clientmap.
cd angular-cosmosdb
Open vervolgens de map in Visual Studio Code.
code .
De app bouwen met het Express-framework
In Visual Studio Code klikt u in het deelvenster Explorer met de rechtermuisknop op de map src en klikt u op New Folder. Geef de nieuwe map de naam server.
Klik in het deelvenster Explorer met de rechtermuisknop op de map server, klik op New File en geef het nieuwe bestand de naam index.js.
Ga terug naar de opdrachtprompt en gebruik de volgende opdracht om de body-parser te installeren. Hiermee kan de app de JSON-gegevens parseren die worden doorgegeven via de API's.
npm i express body-parser --save
Kopieer in Visual Studio Code de volgende code in het bestand index.js. Deze code:
- Verwijst naar Express
- Haalt de body-parser op voor het lezen van de JSON-gegevens in de hoofdtekst (body) van de aanvragen
- Gebruikt een ingebouwde functie met de naam path
- Stelt hoofdvariabelen in om het zoeken naar de locatie van de code te vereenvoudigen
- Stelt een poort in
- Start Express
- Vertelt de app hoe gebruik moet worden gemaakt van de middleware die wordt gebruikt voor het ophalen van de server
- Behandelt alles dat zich in de map dist bevindt, dat wil zeggen de statische inhoud
- Haalt de app op en behandelt index.html voor alle GET-aanvragen die niet op de server worden gevonden (voor dieptekoppelingen)
- Start de server met app.listen
- Gebruikt een pijlfunctie om te registreren dat de poort actief is
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}`));
In Visual Studio Code klikt u in het deelvenster Explorer met de rechtermuisknop op de map server en klikt u vervolgens op New file. Geef het nieuwe bestand de naam routes.js.
Kopieer de volgende code in routes.js. Deze code:
- Verwijst naar de Express-router
- Haalt de hero's op
- Stuurt de JSON terug voor een gedefinieerde hero
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;
Sla al uw gewijzigde bestanden op.
Klik in Visual Studio Code op de knop Foutopsporing, klik op de knop Tandwiel. Het nieuwe bestand launch.json wordt geopend in Visual Studio Code.
Wijzig in regel 11 van het bestand launch.json
"${workspaceFolder}\\server"
in"program": "${workspaceRoot}/src/server/index.js"
en sla het bestand op.Klik op de knop Foutopsporing starten om de app uit te voeren.
De app moet nu foutloos worden uitgevoerd.
Postman gebruiken om de app te testen
Open nu Postman en voeg
http://localhost:3000/api/heroes
aan het vak GET toe.Klik op de knop Send en haal de json-respons uit de app op.
De respons laat zien dat de app actief is en lokaal wordt uitgevoerd.
Volgende stappen
In dit deel van de zelfstudie hebt u het volgende gedaan:
- Een Node.js-project gemaakt met de Angular CLI
- De app getest in Postman
U kunt doorgaan met het volgende deel van de zelfstudie voor het bouwen van de gebruikersinterface.
Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als alles wat u weet het aantal vcores en servers in uw bestaande databasecluster is, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u typische aanvraagtarieven voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van azure Cosmos DB-capaciteitsplanner