Упражнение. Создание приложения Функции Azure и рефакторинг кода

Завершено

В этом упражнении вы создадите бессерверное приложение Функции Azure, которое запускает API вместо приложения Express. Затем вы переносите логику приложения из приложения Node.js Express в приложение Functions. Вам не нужно переписать код. Для перехода вам потребуется лишь несколько небольших изменений кода.

Создание нового приложения Функции Azure

Убедитесь, что у вас установлено расширение Visual Studio Code для Функции Azure.

  1. Откройте палитру команд Visual Studio Code, нажав клавишу F1.

  2. Введите и выберите Функции Azure: создать проект.

    Screenshot of Visual Studio Code creating a new function app.

  3. Выберите корневой каталог репозитория в качестве расположения для нового проекта.

  4. При появлении запроса введите следующие значения:

    Имя. Значение
    Язык 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.

Перейдите к следующему уроку, чтобы создать функции и рефакторинг конечных точек и маршрутов.