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