Поделиться через


Поддерживаемые языки и среды выполнения в Статические веб-приложения Azure

Статические веб-приложения Azure функции двух разных мест, где важны среды выполнения и языковые версии, на интерфейсе и в API.

Тип среды выполнения Description
Внешний интерфейс Версия, отвечающая за выполнение шагов сборки веб-сайта, создающих интерфейсное приложение.
API Версия и среда выполнения Функции Azure, используемые в веб-приложении.

Внешний интерфейс

Вы можете указать версию, используемую для создания внешнего интерфейса статического веб-приложения. Настройка версии, отличной от по умолчанию, часто необходима только в том случае, если вам нужно использовать более ранние версии.

Можно указать версию среды выполнения, которая создает внешний интерфейс статического веб-приложения в файле package.json в engines разделе файла.

{
  ...
  "engines": {
   "node": ">=14.0.0"
  }
}

API

Базовая поддержка API в Статические веб-приложения Azure предоставляется Функции Azure. Дополнительные сведения см. в Функции Azure поддерживаемых языках и средах выполнения.

Следующие версии поддерживаются для управляемых функций в Статические веб-приложения. Если приложению требуется версия, не указанная, рассмотрите возможность внедрения собственных функций в приложение.

Чтобы настроить версию среды выполнения языка API, задайте apiRuntime для свойства в platform разделе одно из следующих поддерживаемых значений.

Версия среды выполнения языка Операционная система Версия для Функций Azure Значение apiRuntime Дата окончания поддержки
.NET Core 3.1. Windows 3.x dotnet:3.1 3 декабря 2022 г.
В процессе .NET 6.0 Windows 4.x dotnet:6.0 -
Изолированный .NET 6.0 Windows 4.x dotnet-isolated:6.0 -
Изолированный .NET 7.0 Windows 4.x dotnet-isolated:7.0 -
Изолированный .NET 8.0 Windows 4.x dotnet-isolated:8.0 -
Node.js 12.x Linux 3.x node:12 3 декабря 2022 г.
Node.js 14.x Linux 4.x node:14 -
Node.js 16.x Linux 4.x node:16 -
Node.js 18.x Linux 4.x node:18 -
Node.js 20.x (предварительная версия) Linux 4.x node:20 -
Python 3.8 Linux 4.x python:3.8 -
Python 3.9 Linux 4.x python:3.9 -
Python 3.10 Linux 4.x python:3.10 -

.NET

Чтобы изменить версию среды выполнения в приложении .NET, измените TargetFramework значение в csproj-файле . Если задать apiRuntime значение в файле staticwebapp.config.json , убедитесь, что значение соответствует заданному в csproj-файле .

В следующем примере показано, как обновить TargetFramework элемент для NET 8.0 в качестве версии среды выполнения языка API в csproj-файле .

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    ...
  </PropertyGroup>
...

Node.js

В следующем примере конфигурации показано, как использовать apiRuntime свойство для выбора Node.js 16 в качестве версии среды выполнения языка API в файле staticwebapp.config.json .

{
  ...
  "platform": {
    "apiRuntime": "node:16"
  }
  ...
}

Python

В следующем примере конфигурации показано, как использовать apiRuntime свойство для выбора Python 3.8 в качестве версии среды выполнения языка API в файле staticwebapp.config.json .

{
  ...
  "platform": {
    "apiRuntime": "python:3.8"
  }
  ...
}

Повторное включение прокси-серверов в версии 4.x

Функции Azure поддерживает повторное включение прокси-серверов в версии 4.x. Чтобы включить поддержку прокси-сервера в управляемых функциях для статического веб-приложения, задайте SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS значение true в параметрах приложения.

[! ПРИМЕЧАНИЕ] Хотя прокси-серверы поддерживаются в версии 4.x, рекомендуется использовать интеграцию Azure Управление API с управляемыми приложениями-функциями, поэтому ваше приложение не зависит от прокси-серверов.

Устаревшие элементы

Примечание.

Теперь, когда Функции Azure версии 3 прекращено, Статические веб-приложения использует Функции Azure версии 4 для поддержки среды выполнения API для Python 3.8. Повторно разверните приложение, чтобы включить это изменение. Хотя это не рекомендуется, можно отменить изменения обратно в версию 3, установив для переменной USEV3_FOR_PYTHON38 среды значение true.

Следующие среды выполнения устарели в Статические веб-приложения Azure. Дополнительные сведения об изменении среды выполнения см. в разделе "Указание версии среды выполнения языка API" в Статические веб-приложения Azure и миграции приложений из Функции Azure версии 3.x на версию 4.x.

  • .NET Core 3.1.
  • Node.js 12.x