Tworzenie aplikacji Angular przy użyciu interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB — tworzenie aplikacji Node.js Express
DOTYCZY: MongoDB
W tym wieloczęściowym samouczku pokazano, jak utworzyć nową aplikację napisaną w Node.js za pomocą usług Express i Angular, a następnie połączyć ją z kontem usługi Azure Cosmos DB skonfigurowanym przy użyciu interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.
Część 2 samouczka jest oparta na wprowadzeniu i obejmuje następujące zadania:
- Instalowanie interfejsu wiersza polecenia usługi Angular i języka TypeScript
- Tworzenie nowego projektu przy użyciu usługi Angular
- Tworzenie aplikacji przy użyciu platformy Express
- Testowanie aplikacji w narzędziu do testowania HTTP
Przewodnik wideo
Wymagania wstępne
Przed rozpoczęciem tej części samouczka pamiętaj o obejrzeniu filmu wideo z wprowadzeniem.
Dla tego samouczka wymagane są również następujące elementy:
- Środowisko Node.js w wersji 8.4.0 lub nowszej.
- Narzędzie do testowania HTTP
- Zalecamy bezsenność,
curl
, Visual Studio lubInvoke-RestMethod
- Zalecamy bezsenność,
- Program Visual Studio Code lub wybrany edytor kodu.
Napiwek
Ten samouczek przedstawia instrukcje tworzenia aplikacji krok po kroku. Jeśli chcesz pobrać gotowy projekt, ukończoną aplikację znajdziesz w repozytorium angular-cosmosdb w witrynie GitHub.
Instalowanie interfejsu wiersza polecenia usługi Angular i języka TypeScript
Otwórz okno wiersza polecenia systemu Windows lub okno terminala na komputerze Mac i zainstaluj interfejs wiersza polecenia usługi Angular.
npm install -g @angular/cli
Zainstaluj język TypeScript, wprowadzając poniższe polecenie w wierszu polecenia.
npm install -g typescript
Tworzenie nowego projektu przy użyciu interfejsu wiersza polecenia usługi Angular
W wierszu polecenia przejdź do folderu, w którym chcesz utworzyć nowy projekt, a następnie uruchom poniższe polecenie. To polecenie tworzy nowy folder i projekt o nazwie angular-cosmosdb i instaluje składniki usługi Angular wymagane dla nowej aplikacji. Używa ono minimalnej instalacji (--minimal) i wskazuje, że projekt korzysta z rozwiązania Sass (składnia przypominająca język CSS ustawiana za pomocą flagi --style scss).
ng new angular-cosmosdb --minimal --style scss
Po wykonaniu polecenia przejdź do katalogów w folderze src/client.
cd angular-cosmosdb
Następnie otwórz folder w programie Visual Studio Code.
code .
Tworzenie aplikacji przy użyciu platformy Express
W programie Visual Studio Code w okienku Eksplorator kliknij prawym przyciskiem myszy folder src, kliknij pozycję Nowy folder i nadaj nowemu folderowi nazwę server.
W okienku Eksplorator kliknij prawym przyciskiem myszy folder server, kliknij pozycję Nowy plik i nadaj nowemu plikowi nazwę index.js.
Wróć do wiersza polecenia i użyj poniższego polecenia, aby zainstalować analizator treści. Ułatwi to naszej aplikacji analizowanie danych JSON, które są przekazywane za pośrednictwem interfejsów API.
npm i express body-parser --save
W programie Visual Studio Code skopiuj poniższy kod do pliku index.js. Ten kod:
- Odwołuje się do platformy Express
- Wywołuje analizator treści na potrzeby odczytywania danych JSON w treści żądań
- Używa wbudowanej funkcji o nazwie path
- Ustawia zmienne główne, które ułatwiają wyszukiwanie lokalizacji kodu
- Konfiguruje port
- Zwiększa wydajność platformy Express
- Przekazuje do aplikacji informacje na temat sposobu korzystania z oprogramowania pośredniczącego, które miało być używane do obsługi serwera
- Obsługuje wszystkie zasoby znajdujące się w folderze dist, które będą zawartością statyczną
- Obsługuje aplikację i plik index.html dla żądań GET nieznalezionych na serwerze (dla linków bezpośrednich)
- Uruchamia serwer przy użyciu elementu app.listen
- Używa funkcji strzałki do rejestrowania, czy port jest aktywny
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}`));
W programie Visual Studio Code w okienku Eksplorator kliknij prawym przyciskiem myszy folder server, a następnie kliknij pozycję Nowy plik. Nadaj nowemu plikowi nazwę routes.js.
Skopiuj poniższy kod do pliku routes.js. Ten kod:
- Odwołuje się do routera platformy Express
- Pobiera elementy hero
- Wysyła z powrotem dane JSON dla zdefiniowanego elementu 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;
Zapisz wszystkie zmodyfikowane pliki.
W programie Visual Studio Code kliknij przycisk Debuguj , kliknij przycisk Koła zębatego . Nowy plik launch.json zostanie otwarty w programie Visual Studio Code.
W wierszu 11 pliku launch.json, zmień wartość
"${workspaceFolder}\\server"
na"program": "${workspaceRoot}/src/server/index.js"
i zapisz plik.Kliknij przycisk Rozpocznij debugowanie, aby uruchomić aplikację.
Aplikacja powinna działać bez błędów.
Testowanie punktów końcowych HTTP aplikacji
Teraz użyj narzędzia do testowania HTTP, aby wysłać
GET
żądanie dohttp://localhost:3000/api/heroes
.Odpowiedź pokazuje, że aplikacja jest uruchomiona lokalnie.
Następne kroki
W tej części samouczka zostały wykonane następujące zadania:
- Utworzono projekt Node.js przy użyciu interfejsu wiersza polecenia usługi Angular
- Przetestowano aplikację przy użyciu narzędzia do testowania HTTP
Możesz przejść do następnej części samouczka, aby utworzyć interfejs użytkownika.
Próbujesz zaplanować pojemność migracji do usługi Azure Cosmos DB? Informacje o istniejącym klastrze bazy danych można użyć do planowania pojemności.
- Jeśli wiesz, ile rdzeni wirtualnych i serwerów znajduje się w istniejącym klastrze bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu rdzeni wirtualnych lub procesorów wirtualnych
- Jeśli znasz typowe stawki żądań dla bieżącego obciążenia bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu planisty pojemności usługi Azure Cosmos DB