Språk och körning som stöds i Azure Static Web Apps
Azure Static Web Apps har två olika platser där körning och språkversioner är viktiga, i klientdelen och för API:et.
Körningstyp | beskrivning |
---|---|
Klientdel | Den version som ansvarar för att köra webbplatsens byggsteg som skapar klientdelsprogrammet. |
API | Versionen och körningen av Azure Functions som används i ditt webbprogram. |
Klientdelen
Du kan ange vilken version som används för att skapa klientdelen av din statiska webbapp. Det är ofta bara nödvändigt att konfigurera en icke-standardversion om du behöver rikta in dig på äldre versioner.
Du kan ange den körningsversion som skapar klientdelen av din statiska webbapp i den package.json filen i engines
avsnittet i filen.
{
...
"engines": {
"node": ">=14.0.0"
}
}
API
Det underliggande stödet för API:er i Azure Static Web Apps tillhandahålls av Azure Functions. Mer information finns i språk och körningsmiljöer som stöds av Azure Functions.
Följande versioner stöds för hanterade funktioner i Static Web Apps. Om ditt program kräver en version som inte visas kan du överväga att ta med dina egna funktioner till din app.
Om du vill konfigurera api-språkkörningsversionen anger du apiRuntime
egenskapen i platform
avsnittet till något av följande värden som stöds.
Språkkörningsversion | Operativsystem | Azure Functions-version | apiRuntime Värde |
Slutdatum för support |
---|---|---|---|---|
.NET Core 3.1 | Windows | 3.x | dotnet:3.1 |
3 december 2022 |
.NET 6.0 pågår | Windows | 4.x | dotnet:6.0 |
- |
.NET 6.0 isolerad | Windows | 4.x | dotnet-isolated:6.0 |
- |
.NET 7.0 isolerad | Windows | 4.x | dotnet-isolated:7.0 |
- |
.NET 8.0 isolerad | Windows | 4.x | dotnet-isolated:8.0 |
- |
Node.js 12.x | Linux | 3.x | node:12 |
3 december 2022 |
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 (förhandsversion) | 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
Om du vill ändra körningsversionen i en .NET-app ändrar du TargetFramework
värdet i csproj-filen . Om du anger ett apiRuntime
värde i filen staticwebapp.config.json är det valfritt, men se till att värdet matchar det du definierar i csproj-filen .
I följande exempel visas hur du uppdaterar elementet TargetFramework
för NET 8.0 som API-språkkörningsversion i csproj-filen .
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
...
</PropertyGroup>
...
Node.js
Följande exempelkonfiguration visar hur du använder apiRuntime
egenskapen för att välja Node.js 16 som API-språkkörningsversion i staticwebapp.config.json-filen.
{
...
"platform": {
"apiRuntime": "node:16"
}
...
}
Python
Följande exempelkonfiguration visar hur du använder apiRuntime
egenskapen för att välja Python 3.8 som API-språkkörningsversion i staticwebapp.config.json-filen.
{
...
"platform": {
"apiRuntime": "python:3.8"
}
...
}
Återaktivera proxyservrar i v4.x
Azure Functions stöder återaktivering av proxyservrar i v4.x. Om du vill aktivera proxystöd i hanterade funktioner för din statiska webbapp anger du SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS
till true
i dina programinställningar.
[! Obs! Även om proxyservrar stöds i v4.x bör du överväga att använda Azure API Management-integrering med dina hanterade funktionsappar, så att din app inte är beroende av proxyservrar.
Utfasningar
Kommentar
Nu när Azure Functions v3 har dragits tillbaka använder Static Web Apps Azure Functions v4 för API-körningsstöd för Python 3.8. Distribuera om din app för att aktivera den här ändringen. Även om det inte rekommenderas kan du återgå till v3 genom att ställa in miljövariabeln USEV3_FOR_PYTHON38
på true
.
Följande körningar är inaktuella i Azure Static Web Apps. Mer information om hur du ändrar körningen finns i Ange API-språkkörningsversion i Azure Static Web Apps och Migrera appar från Azure Functions version 3.x till version 4.x.
- .NET Core 3.1
- Node.js 12.x