Упражнение. Создание приложения Функции Azure и рефакторинг кода
В этом упражнении вы создадите бессерверное приложение Функции Azure, которое запускает API вместо приложения Express. Затем вы переносите логику приложения из приложения Node.js Express в приложение Functions. Вам не нужно переписать код. Для перехода вам потребуется лишь несколько небольших изменений кода.
Создание нового приложения Функции Azure
Убедитесь, что у вас установлено расширение Visual Studio Code для Функции Azure.
Откройте палитру команд Visual Studio Code, нажав клавишу F1.
Введите и выберите Функции Azure: создать проект.
Выберите корневой каталог репозитория в качестве расположения для нового проекта.
При появлении запроса введите следующие значения:
Имя. Значение Язык TypeScript Выбор модели программирования TypeScript Модель V4 Template Триггер HTTP Имя. getVacations
Теперь приложение "Функции" создается для обслуживания конечных точек API приложения. В следующем уроке вы создадите функции, которые перечисляют, добавляют, обновляют и удаляют отпуск.
Примечание.
Вы создали приложение "Функции" в папке функций , которая отделяет его от приложения Angular. Вы можете решить, как структурировать приложения, но в целях обучения он помогает видеть оба приложения в одном месте.
Копирование и рефакторинг кода обработчика маршрутов
Все Node.js логика Express, возвращающая данные, находится в папке сервера или служб . Этот код можно скопировать из приложения Node.js Express в приложение "Функции", а затем выполнить небольшую рефакторинг, чтобы сделать код работой с функциями вместо Node.js Express.
В следующей таблице перечислены основные различия между приложением Node.js Express и приложением Functions:
Компонент | Node.js Express | Функции |
---|---|---|
Импортированный пакет npm для обслуживания приложения | express |
@azure/functions |
Объекты запроса и ответа | req и res |
request и context |
Сначала вы рефакторингируете код для импорта соответствующего пакета npm. Затем рефакторинг обрабатывает различия между передачей объектов запроса и ответа Express и Functions.
Копирование существующего кода из проекта Express
В Visual Studio Code скопируйте следующие вложенные папки из папки сервера в приложении Express и вставьте его в функции или папку:
- .
- модели
- services;
Вам не нужно копировать папку маршрутов, так как вы собираетесь создавать новые функции для каждого маршрута в приложении Функции Azure.
Перейдите к следующему уроку, чтобы создать функции и рефакторинг конечных точек и маршрутов.