Поддерживаемые языки и среды выполнения в Статические веб-приложения 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