Azure Static Web Apps 中支援的語言和運行時間
Azure Static Web Apps 具有兩個不同的位置,其中運行時間和語言版本很重要,在前端和 API。
執行階段類型 | 描述 |
---|---|
前端 | 負責執行建置前端應用程式的網站建置步驟的版本。 |
API | Web 應用程式中所使用的 Azure Functions 版本和運行時間。 |
前端
您可以指定用來建置靜態 Web 應用程式前端的版本。 只有在您需要以較舊版本為目標時,才需要設定非預設版本。
您可以在檔案區段中的 package.json 檔案engines
中,指定建置靜態 Web 應用程式的前端的運行時間版本。
{
...
"engines": {
"node": ">=14.0.0"
}
}
API
Azure Static Web Apps 中 API 的基礎支援是由 Azure Functions 提供。 如需詳細資訊, 請參閱 Azure Functions 支援的語言和運行時間 。
靜態 Web Apps 中的 Managed 函式支援下列版本。 如果您的應用程式需要未列出的版本,請考慮 將您自己的函 式帶入您的應用程式。
若要設定 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 應用程式中的運行時間版本,請變更 TargetFramework
csproj 檔案中的值。 選擇性時,如果您在 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 16 選取為 staticwebapp.config.json 檔案中的 API 語言執行平臺版本。
{
...
"platform": {
"apiRuntime": "node:16"
}
...
}
Python
下列範例組態示範如何使用 apiRuntime
屬性,在 staticwebapp.config.json 檔案中選取 Python 3.8 作為 API 語言執行平臺版本。
{
...
"platform": {
"apiRuntime": "python:3.8"
}
...
}
在 v4.x 中重新啟用 Proxy
Azure Functions 支援 在 v4.x 中重新啟用 Proxy。 若要在靜態 Web 應用程式的 Managed 函式中啟用 Proxy 支援,請在應用程式設定中設定為 SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS
true
。
[!注意] 雖然 v4.x 支援 Proxy,但請考慮使用 Azure API 管理 與受控函式應用程式整合,因此您的應用程式不依賴 Proxy。
棄用項目
注意
現在 Azure Functions v3 已淘汰,Static Web Apps 會使用 Azure Functions v4 來支援 Python 3.8 的 API 運行時間。 重新部署您的應用程式以啟用這項變更。 雖然不建議,但您可以將環境變數USEV3_FOR_PYTHON38
true
設定為 ,以還原回 v3。
Azure Static Web Apps 中已淘汰下列運行時間。 如需變更運行時間的詳細資訊,請參閱 在 Azure Static Web Apps 中指定 API 語言執行平臺版本,並將 應用程式從 Azure Functions 3.x 版移轉至 4.x 版。
- .NET Core 3.1
- Node.js 12.x