你当前正在访问 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