Implementación de una aplicación web en Azure Static Web Apps
En este artículo, creará una nueva aplicación web con el marco de su elección, la ejecutará localmente y, a continuación, la implementará en Azure Static Web Apps.
Requisitos previos
Para completar este tutorial, necesita:
Resource | Descripción |
---|---|
Suscripción de Azure | En caso de no tener una, puede crear una cuenta gratuita. |
Node.js | Instale la versión 20.0 o posterior. |
CLI de Azure | Instale la versión 2.6x o posterior. |
También necesitará un editor de texto. Para trabajar con Azure, se recomienda Visual Studio Code.
Puede ejecutar la aplicación que cree en este artículo en la plataforma que prefiera: Linux, macOS, Windows o Subsistema de Windows para Linux.
Creación de la aplicación web
- Abra una ventana de terminal.
Seleccione un directorio adecuado para el código y, a continuación, ejecute los siguientes comandos.
npm create vite@latest swa-vanilla-demo -- --template=vanilla cd swa-vanilla-demo npm install npm run dev
A medida que ejecuta estos comandos, el servidor de desarrollo imprime la dirección URL del sitio web. Seleccione el vínculo para abrirlo en el explorador predeterminado.
Seleccione un directorio adecuado para el código y, a continuación, ejecute los siguientes comandos.
npx --package @angular/cli@latest ng new swa-angular-demo --ssr=false --defaults cd swa-angular-demo npm start
A medida que ejecuta estos comandos, el servidor de desarrollo imprime la dirección URL del sitio web. Seleccione el vínculo para abrirlo en el explorador predeterminado.
Seleccione un directorio adecuado para el código y, a continuación, ejecute los siguientes comandos.
npm create vite@latest swa-react-demo -- --template react cd swa-react-demo npm install npm run dev
A medida que ejecuta estos comandos, el servidor de desarrollo imprime la dirección URL del sitio web. Seleccione el vínculo para abrirlo en el explorador predeterminado.
Seleccione un directorio adecuado para el código y, a continuación, ejecute los siguientes comandos.
npm create vite@latest swa-vue-demo -- --template vue cd swa-vue-demo npm install npm run dev
A medida que ejecuta estos comandos, el servidor de desarrollo imprime la dirección URL del sitio web. Seleccione el vínculo para abrirlo en el explorador predeterminado.
- Seleccione Cmd/Ctrl+C para detener el servidor de desarrollo.
Creación de una aplicación web estática en Azure
Puede crear una aplicación web estática mediante Azure Portal, la CLI de Azure, Azure PowerShell o Visual Studio Code (con la extensión de Azure Static Web Apps). En este tutorial se usa la CLI de Azure.
Inicie sesión en la CLI de Azure:
az login
De forma predeterminada, este comando abre un explorador para completar el proceso. Si este método no funciona en su entorno, la CLI de Azure admite varios métodos para iniciar sesión.
Si tiene varias suscripciones, es posible que tenga que seleccionar una de ellas. Puede ver la suscripción actual mediante el siguiente comando:
az account show
Para seleccionar una suscripción, puede ejecutar el comando
az account set
.az account set --subscription "<SUBSCRIPTION_NAME_OR_ID>"
Cree un grupo de recursos.
Los grupos de recursos se usan para agrupar los recursos de Azure.
az group create -n swa-tutorial -l centralus --query "properties.provisioningState"
El parámetro
-n
hace referencia al nombre del sitio y el parámetro-l
es el nombre de la ubicación de Azure. El comando concluye con--query "properties.provisioningState"
para que solo devuelva un mensaje de éxito o error.Cree una aplicación web estática en el grupo de recursos recién creado.
az staticwebapp create -n swa-demo-site -g swa-tutorial --query "defaultHostname"
El parámetro
-n
hace referencia al nombre del sitio y el parámetro-g
hace referencia al nombre del grupo de recursos de Azure. Asegúrese de especificar el mismo nombre de grupo de recursos que en el paso anterior. La aplicación web estática se distribuye globalmente, por lo que la ubicación no es importante para el modo de implementar la aplicación.El comando está configurado para devolver la dirección URL de la aplicación web. Puede copiar el valor de la ventana del terminal en el explorador para ver la aplicación web implementada.
Configuración de la implementación
Agregue un archivo
staticwebapp.config.json
al código de la aplicación con el siguiente contenido:{ "navigationFallback": { "rewrite": "/index.html" } }
La definición de una ruta de reserva permite al sitio atender el archivo
index.html
para las solicitudes realizadas en el dominio.Compruebe este archivo en el sistema de control de código fuente (por ejemplo, Git) si usa uno.
Instale la CLI de Azure Static Web Apps (SWA) en el proyecto.
npm install -D @azure/static-web-apps-cli
La CLI de SWA le ayuda a desarrollar y probar el sitio localmente antes de implementarlo en la nube.
Cree un nuevo archivo para el proyecto y llámelo
swa-cli.config.json
.El archivo
swa-cli.config.json
describe cómo compilar e implementar el sitio.Una vez creado este archivo, puede generar su contenido mediante el comando
npx swa init
.npx swa init --yes
Compile la aplicación para su distribución.
npx swa build
Use la CLI de SWA para iniciar sesión en Azure.
npx swa login --resource-group swa-tutorial --app-name swa-demo-site
Use el mismo nombre de grupo de recursos y de aplicación web estática que creó en la sección anterior. Al intentar iniciar sesión, se abre un explorador para completar el proceso si es necesario.
Advertencia
Angular v17 y versiones posteriores colocan los archivos distribuibles en un subdirectorio de la ruta de acceso de salida que puede elegir. La CLI de SWA no conoce la ubicación específica del directorio. Los pasos siguientes muestran cómo establecer esta ruta de acceso correctamente.
Busque el archivo index.html en el proyecto en la carpeta dist/swa-angular-demo/browser.
Establezca la variable de entorno
SWA_CLI_OUTPUT_LOCATION
en el directorio que contiene el archivo index.html:export SWA_CLI_OUTPUT_LOCATION="dist/swa-angular-demo/browser"
Implementación del sitio en Azure
Implemente el código en la aplicación web estática:
npx swa deploy --env production
La implementación de la aplicación puede tardar unos minutos. Una vez completada, se muestra la dirección URL del sitio.
En la mayoría de los sistemas, puede seleccionar la dirección URL del sitio para abrirla en el explorador predeterminado.
Limpieza de recursos (opcional)
Si no continúa con otros tutoriales, quite el grupo de recursos de Azure y los recursos que contiene:
az group delete -n swa-tutorial
Cuando se elimina un grupo de recursos, se eliminan todos los recursos que contiene. No puede deshacer esta acción.