你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Static Web Apps 中支持的语言和运行时
Azure Static Web Apps 具有两个不同的位置,其中运行时和语言版本很重要,一个是在前端,一个是在 API 上。
运行时类型 | 描述 |
---|---|
前端 | 负责运行生成前端应用程序的网站的生成步骤的版本。 |
API | Web 应用程序中使用的 Azure Functions 的版本和运行时。 |
前端
可以指定用于生成静态 Web 应用的前端的版本。 通常只有在需要针对较旧版本时才需要配置非默认版本。
可以在文件的 engines
部分的 package.json 文件中指定生成静态 Web 应用前端的运行时版本。
{
...
"engines": {
"node": ">=14.0.0"
}
}
API
Azure Static Web Apps 中 API 的基础支持由 Azure Functions 提供。 有关详细信息,请参阅 Azure Functions 支持的语言和运行时。
Static Web Apps 中的托管函数支持以下版本。 如果应用需要的版本未列出,请考虑自行向应用添加函数。
若要配置 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 |
- |
.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 |
2022 年 12 月 3 日 |
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 应用中的运行时版本,请更改 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
属性在 staticwebapp.config.json 文件中选择 Node.js 16 作为 API 语言运行时版本。
{
...
"platform": {
"apiRuntime": "node:16"
}
...
}
Python
以下示例配置演示如何使用 apiRuntime
属性在 staticwebapp.config.json 文件中选择 Python 3.8 作为 API 语言运行时版本。
{
...
"platform": {
"apiRuntime": "python:3.8"
}
...
}
在 v4.x 中重新启用代理
Azure Functions 支持在 v4.x 中重新启用代理。 若要在静态 Web 应用的托管函数中启用代理支持,请在应用程序设置中将 SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS
设置为 true
。
[!注意] 当 v4.x 支持代理时,请考虑将 Azure API 管理与托管函数应用集成,这样应用就无需依赖代理。
弃用功能
注意
Azure Functions v3 现在已停用了,Static Web Apps 使用 Azure Functions v4 来实现对 Python 3.8 的 API 运行时支持。 重新部署你的应用以启用此更改。 虽然不建议,但你可以通过将环境变量 USEV3_FOR_PYTHON38
设置为 true
来还原到 v3。
Azure Static Web Apps 中已弃用以下运行时。 有关更改运行时的详细信息,请参阅在 AAzure Static Web Apps 中指定 API 语言运行时版本和将应用程序从 Azure Functions 版本 3.X 迁移到版本 4.X。
- .NET Core 3.1
- Node.js 12.x