你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Static Web Apps 中支持的语言和运行时

Azure Static Web Apps 在前端和 API 上具有两个不同的位置,其中运行时和语言版本非常重要。

运行时类型 DESCRIPTION
前端 负责运行网站构建步骤的版本,以构建前端应用程序。
应用程序接口 Web 应用程序中使用的 Azure Functions 的版本和运行时。

前端

可以指定用于生成静态 Web 应用的前端的版本。 通常只有在需要针对较旧版本时才需要配置非默认版本。

可以在 package.json 文件的 engines 部分指定构建静态 Web 应用程序前端的运行时版本。

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

API(应用程序编程接口)

Azure Static Web Apps 中 API 的基础支持由 Azure Functions 提供。 有关详细信息,请参阅 Azure Functions 支持的语言和运行时

静态 Web 应用中的托管函数支持以下版本。 如果应用程序需要未列出的版本,请考虑将 自己的函数引入 应用。

若要配置 API 语言运行时版本,请将 platform 部分中的 apiRuntime 属性设置为以下支持的值之一。

语言运行时版本 操作系统 Azure Functions 版本 apiRuntime 终止支持日期
.NET Core 3.1 Windows操作系统 3.x dotnet:3.1 2022 年 12 月 3 日
.NET 6.0(进程内) Windows操作系统 4.x dotnet:6.0 2025 年 4 月 30 日
.NET 8.0 进程内 Windows操作系统 4.x dotnet:8.0 -
.NET 6.0(独立) Windows操作系统 4.x dotnet-isolated:6.0 2025 年 4 月 30 日
.NET 7.0(独立) Windows操作系统 4.x dotnet-isolated:7.0 2025 年 4 月 30 日
.NET 8.0 独立 Windows操作系统 4.x dotnet-isolated:8.0 -
.NET 9.0 独立 Windows操作系统 4.x dotnet-isolated:9.0 -
Node.js 12.x Linux 3.x node:12 2022 年 12 月 3 日
Node.js 14.x Linux 4.x node:14 2025 年 4 月 30 日
Node.js 16.x Linux 4.x node:16 2025 年 4 月 30 日
Node.js 18.x Linux 4.x node:18 2025 年 5 月 31 日
Node.js 20.x Linux 4.x node:20 -
Python 3.8 Linux 4.x python:3.8 2025 年 4 月 30 日
Python 3.9 Linux 4.x python:3.9 -
Python 3.10 Linux 4.x python:3.10 -
Python 3.11 Linux 4.x python:3.11 -

.NET

若要更改 .NET 应用中的运行时版本,请更改 csproj 文件中的 TargetFramework 值。 (可选)如果在 staticwebapp.config.json 文件中设置了一个 apiRuntime 值,请确保该值与你在 csproj 文件中定义的值相匹配

以下示例演示如何将 NET 8.0 的 TargetFramework 元素更新为 csproj 文件中的 API 语言运行时版本

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

Node.js

以下示例配置演示如何使用 apiRuntime 属性选择 Node.js 20 作为 staticwebapp.config.json 文件中的 API 语言运行时版本。

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

Python语言

以下示例配置演示如何使用 apiRuntime 属性选择 Python 3.11 作为 staticwebapp.config.json 文件中的 API 语言运行时版本。

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

在 v4.x 中重新启用代理

Azure Functions 支持 在 v4.x 中重新启用代理。 若要在静态 Web 应用的托管函数中启用代理支持,请在应用程序设置中设置为SWA_ENABLE_PROXIES_MANAGED_FUNCTIONStrue

注释

虽然 v4.x 中支持代理,但请考虑将 Azure API 管理与托管函数应用集成,因此应用不依赖于代理。

弃用

注释

现在 Azure Functions v3 已停用,静态 Web 应用使用 Azure Functions v4 对 Python 3.8 的 API 运行时支持。 重新部署应用以启用此更改。 虽然不建议,但可以通过将环境变量USEV3_FOR_PYTHON38true设置为 还原到 v3。

Azure Static Web Apps 中弃用了以下运行时。 有关更改运行时的详细信息,请参阅 在 Azure Static Web Apps 中指定 API 语言运行时版本 ,并将 应用从 Azure Functions 版本 3.x 迁移到版本 4.x

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