Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: MongoDB
В этом руководстве по нескольким компонентам показано, как создать новое приложение, написанное Node.js с помощью Express и Angular, а затем подключить его к учетной записи Azure Cosmos DB, настроенной с помощью API Azure Cosmos DB для MongoDB.
Часть 2 руководства основана на введении. Здесь рассматриваются следующие задачи:
- установка Angular CLI и TypeScript;
- создание нового проекта с помощью Angular;
- создание приложения с помощью платформы Express;
- Тестирование приложения в средстве тестирования HTTP
Видеоруководство
Необходимые компоненты
Прежде чем начинать работу с этой частью руководства, обязательно просмотрите вводный видеоролик.
Для работы с этим руководством также требуется следующее:
- Node.js версии 8.4.0 или более поздней;
- Средство тестирования HTTP
- Рекомендуется бессонница,
curl
Visual Studio илиInvoke-RestMethod
- Рекомендуется бессонница,
- Visual Studio Code или любой другой редактор кода.
Совет
В этом руководстве изложены пошаговые инструкции по созданию приложения. Готовое приложение можно скачать из репозитория angular-cosmosdb на GitHub.
установка Angular CLI и TypeScript;
Откройте командную строку Windows или окно терминала Mac и установите Angular CLI.
npm install -g @angular/cli
Введите следующую команду в командной строке, чтобы установить TypeScript.
npm install -g typescript
Создание проекта с помощью Angular CLI
В командной строке укажите папку, в которой требуется создать новый проект, а затем выполните приведенную ниже команду. Эта команда создает новую папку и проект с именем angular-cosmosdb и устанавливает компоненты Angular, необходимые для нового приложения. Она использует минимальные настройки (--minimal) и указывает, что в проекте используется SASS (CSS-подобный синтаксис с флагом ---style scss).
ng new angular-cosmosdb --minimal --style scss
После выполнения команды перейдите в папку src/client.
cd angular-cosmosdb
Затем откройте папку в Visual Studio Code.
code .
Создание приложения с помощью платформы Express
В Visual Studio Code в области Обозреватель щелкните правой кнопкой мыши папку src, выберите пункт Создать папку и присвойте новой папке имя server.
В области Обозреватель щелкните правой кнопкой мыши папку server, выберите Создать файл и присвойте новому файлу имя index.js.
Вернитесь в командную строку и введите указанную ниже команду, чтобы установить средство синтаксического анализа текста. Это поможет нашему приложению проанализировать данные JSON, передаваемые через API-интерфейсы.
npm i express body-parser --save
В Visual Studio Code скопируйте приведенный ниже код в файл index.js. Этот код выполняет следующие действия.
- ссылается на платформу Express;
- вызывает средство синтаксического анализа текста для чтения данных JSON в тексте запросов;
- использует встроенную функцию path;
- задает переменные для корневого каталога, чтобы было проще найти расположение кода;
- задает порт;
- запускает платформу Express;
- указывает приложению, как следует использовать ПО промежуточного слоя, которое будет применяться для обслуживания сервера;
- отображает все содержимое папки dist (статическое содержимое);
- обслуживает приложение и отображает файл index.html для запросов GET, не найденных на сервере (для прямых ссылок);
- запускает сервер с помощью команды app.listen;
- использует стрелочную функцию для проверки активности порта.
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}`));
В Visual Studio Code в области Обозреватель щелкните правой кнопкой мыши папку server и выберите пункт Создать файл. Присвойте новому файлу имя routes.js.
Скопируйте приведенный ниже код в файл routes.js. Этот код выполняет следующие действия.
- ссылается на маршрутизатор Express;
- получает элементы hero;
- отправляет данные JSON для определенного элемента 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;
Сохраните все измененные файлы.
В Visual Studio Code нажмите кнопку Отладка
, а затем — кнопку с шестеренкой
. В Visual Studio Code откроется новый файл launch.json.
В 11-й строке файла launch.json замените
"${workspaceFolder}\\server"
на"program": "${workspaceRoot}/src/server/index.js"
и сохраните файл.Чтобы запустить приложение, нажмите кнопку Начать отладку
.
Приложение должно запуститься без ошибок.
Проверка конечных точек HTTP приложения
Теперь используйте средство тестирования HTTP для выдачи
GET
запросаhttp://localhost:3000/api/heroes
.В ответе показано, что приложение выполняется локально.
Следующие шаги
В этой части руководства мы выполнили следующую задачу:
- создали проект Node.js с помощью Angular CLI;
- Тестировало приложение с помощью средства тестирования HTTP
Теперь можно перейти к следующей части руководства, чтобы создать пользовательский интерфейс.
Если вы планируете ресурсы для миграции в Azure Cosmos DB, Для планирования ресурсов можно использовать сведения об имеющемся кластере базы данных.
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, прочитайте об оценке единиц запроса на основе этих данных.
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB