Compartir vía


Lenguajes y entornos de ejecución admitidos en Azure Static Web Apps

Azure Static Web Apps presenta dos lugares diferentes en los que las versiones del entorno de ejecución y del lenguaje son importantes: en el front-end y en la API.

Tipo de entorno de ejecución Descripción
Front-end La versión responsable de ejecutar los pasos de compilación del sitio web que crean la aplicación de front-end.
API Versión y entorno de ejecución de Azure Functions usados en la aplicación web.

Front-end

Puede especificar la versión usada para compilar el front-end de la aplicación web estática. La configuración de una versión no predeterminada suele ser necesaria si necesita trabajar con versiones anteriores.

Puede especificar la versión en tiempo de ejecución que compila el front-end de la aplicación web estática en el archivo package.json de la sección engines del archivo.

{
  ...
  "engines": {
   "node": ">=14.0.0"
  }
}

API

Azure Functions proporciona la compatibilidad subyacente con las API de Azure Static Web Apps. Consulte los lenguajes y entornos de ejecución admitidos de Azure Functions para más información.

Las siguientes versiones son compatibles con las funciones administradas en Static Web Apps. Si la aplicación requiere una versión que no aparece en la lista, considere la posibilidad de incorporar sus propias funciones a la aplicación.

Para configurar la versión del entorno de ejecución del lenguaje de API, establezca la propiedad apiRuntime de la sección platform en uno de los siguientes valores admitidos.

Versión del entorno de ejecución del lenguaje Sistema operativo Versión de Azure Functions Valor de apiRuntime Fecha de finalización de soporte técnico
.NET Core 3.1 Windows 3.x dotnet:3.1 3 de diciembre de 2022
.NET 6.0 en proceso Windows 4.x dotnet:6.0 -
.NET 6.0 aislado Windows 4.x dotnet-isolated:6.0 -
.NET 7.0 (aislado) Windows 4.x dotnet-isolated:7.0 -
Aislado de .NET 8.0 Windows 4.x dotnet-isolated:8.0 -
Node.js 12.x Linux 3.x node:12 3 de diciembre de 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 (versión preliminar) 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

Para cambiar la versión en tiempo de ejecución en una aplicación .NET, cambie el valor TargetFramework del archivo csproj. Aunque es opcional, si establece un valor apiRuntime en el archivo staticwebapp.config.json, asegúrese de que coincida con lo que define en el archivo csproj.

En el ejemplo siguiente se muestra cómo actualizar el elemento TargetFramework para NET 8.0 como la versión del entorno de ejecución del lenguaje de API del archivo csproj.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    ...
  </PropertyGroup>
...

Node.js

En la configuración de ejemplo siguiente, se muestra cómo usar la propiedad apiRuntime para seleccionar Node.js 16 como la versión del entorno de ejecución del lenguaje de API del archivo staticwebapp.config..json.

{
  ...
  "platform": {
    "apiRuntime": "node:16"
  }
  ...
}

Python

En la siguiente configuración de ejemplo se muestra cómo usar la propiedad apiRuntime para seleccionar Python 3.8 como la versión del entorno de ejecución del lenguaje de API del archivo staticwebapp.config.json.

{
  ...
  "platform": {
    "apiRuntime": "python:3.8"
  }
  ...
}

Volver a habilitar servidores proxy en v4.x

Azure Functions admite volver a habilitar servidores proxy en v4.x. Para habilitar la compatibilidad con proxy en funciones administradas para la aplicación web estática, establezca SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS en true en la configuración de la aplicación.

[!NOTA] Aunque los servidores proxy se admiten en v4.x, considere la posibilidad de usar la integración de Azure API Management con las aplicaciones de funciones administradas, por lo que la aplicación no depende de proxies.

Desusos

Nota:

Ahora que Azure Functions v3 se retira, Static Web Apps usa Azure Functions v4 por compatibilidad del entorno de ejecución de API con Python 3.8. Vuelva a implementar la aplicación para permitir este cambio. Aunque no se recomienda, puede volver a la versión 3 estableciendo la variable de entorno USEV3_FOR_PYTHON38 en true.

Los siguientes entornos de ejecución están en desuso en Azure Static Web Apps. Para más información sobre cómo cambiar el entorno de ejecución, consulte Especificación de la versión del entorno de ejecución del lenguaje de API en Azure Static Web Apps y Migración de aplicaciones de la versión 3.x a la versión 4.x de Azure Functions.

  • .NET Core 3.1
  • Node.js 12.x