swa
Comandos
Nombre | Description | Tipo | Estado |
---|---|---|---|
swa login |
Inicio de sesión en Azure |
SWA Core | GA |
swa build |
Compila la aplicación. Si tiene una aplicación de Node.js, instalará primero las dependencias. |
SWA Core | GA |
swa start |
Inicie el emulador de Azure Static Web Apps desde un directorio o enlace a un servidor de desarrollo en ejecución. |
SWA Core | GA |
swa deploy |
Implemente el proyecto actual en Azure Static Web Apps. |
SWA Core | GA |
swa db |
Genere y edite la configuración de conexiones de base de datos de Static Web Apps. |
SWA Core | GA |
swa login
Inicio de sesión en Azure
Autentíquese con Azure para obtener un token de implementación para Azure Static Web Apps mediante el comando swa deploy
.
swa login
[--subscription-id]
[--resource-group]
[--tenant-id]
[--client-id]
[--client-secret]
[--app-name]
[--clear-credentials]
[--use-keychain]
[--no-use-keychain]
Ejemplos
Inicio de sesión interactivo en Azure
swa login
Parámetros opcionales
ID. de suscripción de Azure usado por este proyecto. El valor predeterminado es process.env.AZURE_SUBSCRIPTION_ID
.
Nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante az configure --defaults group=<name>
.
Identificador de inquilino de Azure. El valor predeterminado es process.env.AZURE_TENANT_ID
.
ID. de cliente de Azure.
Secreto de cliente de Azure.
Nombre de la aplicación de Azure Static Web Apps.
Borre las credenciales persistentes antes del inicio de sesión. El valor predeterminado es false
.
Use la cadena de claves nativa del sistema operativo para las credenciales persistentes. El valor predeterminado es true
.
Deshabilite el uso de la cadena de claves nativa del sistema operativo.
Parámetros globales
Mostrar el número de versión.
Habilitar resultado detallado. Los valores de nivel incluyen silly
, info
, log
(valor predeterminado) y silent
.
Ruta de acceso al archivo swa-cli.config.json.
Configuración usada por la CLI.
Imprima todas las opciones resueltas. El valor predeterminado es false
.
Mostrar ayuda contextual.
swa init
Configura un nuevo proyecto de Azure Static Web Apps.
Configura un nuevo proyecto de Azure Static Web Apps con la CLI de Static Web Apps. El modo interactivo le pedirá un nombre de configuración, detectará la configuración de su proyecto y los marcos utilizados. Una vez completada, se crea una nueva aplicación web estática y se genera un archivo swa-cli.config.json en el directorio actual.
Puede ejecutar swa init
varias veces para crear configuraciones diferentes para el proyecto. Es posible que quiera hacerlo si está trabajando en un repositorio único y desea configurar proyectos diferentes.
El archivo de configuración generado se usa en todos los comandos que ejecute con la CLI de Static Web Apps. Si tiene varias configuraciones con nombre, puede usar el argumento posicional o la opción --config-name
para especificar qué configuración desea usar.
A continuación se muestra una configuración de ejemplo generada por el comando init
:
"$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
"configurations": {
"myApp": {
"appLocation": ".",
"apiLocation": "api",
"outputLocation": "dist",
"appBuildCommand": "npm run build",
"apiBuildCommand": "npm run build --if-present",
"run": "npm run dev",
"appDevserverUrl": "http://localhost:8080"
}
}
} ```
swa init
[--yes]
Ejemplos
Cree una nueva configuración de forma interactiva.
swa init
Cree una nueva configuración con valores predeterminados para todas las opciones.
swa init --yes
Inicialice el proyecto con la configuración denominada "myApp" desde el archivo swa-cli.config.json.
swa init --config-name myApp
Parámetros opcionales
Responda "sí" a todas las indicaciones, que deshabilita el modo interactivo. El valor predeterminado es false
.
Parámetros globales
Mostrar el número de versión.
Habilitar resultado detallado. Los valores de nivel incluyen silly
, info
, log
(valor predeterminado) y silent
.
Ruta de acceso al archivo swa-cli.config.json.
Configuración usada por la CLI.
Imprima todas las opciones resueltas. El valor predeterminado es false
.
Mostrar ayuda contextual.
swa start
Inicie el emulador de Azure Static Web Apps desde un directorio o enlace a un servidor de desarrollo en ejecución.
Servir desde una carpeta
De forma predeterminada, la CLI inicia y sirve cualquier contenido estático desde el directorio ./
de trabajo actual:
swa start
Si la carpeta artefacto de la aplicación estática está en otra carpeta (por ejemplo, ./my-dist
), ejecute la CLI y proporcione esa carpeta:
swa start ./my-dist
Servir desde un servidor de desarrollo
Al desarrollar la aplicación front-end localmente, a menudo resulta útil usar el servidor de desarrollo que viene con la CLI del marco de front-end. El uso de la CLI de marco le permite usar características integradas como "livereload" y HMR (reemplazo de módulo frecuente). Para usar la CLI de SWA con el servidor de desarrollo local, siga estos dos pasos:
- Inicie el servidor de desarrollo local como de costumbre. Por ejemplo, si usa Angular:
ng serve
(onpm start
). - En un terminal independiente, ejecute
swa start
con el URI proporcionado por el servidor de desarrollo, con el siguiente formato:
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>
Esta es una lista de los puertos y comandos predeterminados que usan algunos servidores de desarrollo populares:
Herramienta | Port | Get-Help |
---|---|---|
Angular | 4200 |
swa start http://localhost:4200 |
WebAssembly de Blazor | 5000 |
swa start http://localhost:5000 |
Gatsby | 8000 |
swa start http://localhost:8000 |
Hugo | 1313 |
swa start http://localhost:1313 |
Next.js | 3000 |
swa start http://localhost:3000 |
React (Crear aplicación React) | 3000 |
swa start http://localhost:3000 |
Svelte (sirv-cli) | 5000 |
swa start http://localhost:5000 |
Vue | 3000 |
swa start http://localhost:3000 |
En lugar de iniciar un servidor de desarrollo por separado, puede proporcionar el comando de inicio a la CLI.
# npm start script (React)
swa start http://localhost:3000 --run "npm start"
# dotnet watch (Blazor)
swa start http://localhost:5000 --run "dotnet watch run"
# Jekyll
swa start http://localhost:4000 --run "jekyll serve"
# custom script
swa start http://localhost:4200 --run "./startup.sh"
A continuación, acceda a la aplicación con los servicios emulados desde http://localhost:4280
Servir tanto a la aplicación front-end como a la API
Si el proyecto incluye funciones de API, la CLI comprobará si Azure Functions Core Tools está instalado y disponible. Si no es así, la CLI descargará e instalará la versión correcta de Azure Functions Core Tools.
Iniciar automáticamente el servidor de API
Ejecute la CLI y proporcione la carpeta que contiene el back-end de API (un proyecto de aplicación de Azure Functions válido):
# static content plus an API
swa start ./my-dist --api-location ./api
# front-end dev server plus an API
swa start http://localhost:3000 --api-location ./api
Iniciar manualmente el servidor de API
Al desarrollar el back-end localmente, a veces resulta útil ejecutar Azure Functions Core Tools por separado para servir la API. Esto le permite usar características integradas, como la depuración y la compatibilidad con editores enriquecidos. Para usar la CLI con el servidor de desarrollo de back-end de API local, siga estos dos pasos:
- Inicie la API mediante Azure Functions Core Tools:
func host start
o inicie la depuración en VS Code. - En un terminal independiente, ejecute la CLI de SWA con la marca
--api-location
y el URI del servidor de API local, en el siguiente formato:
swa start ./my-dist --api-location http://localhost:7071
Conexiones de bases de datos
Para iniciar la aplicación con una conexión de base de datos, use el --data-api-location
parámetro y apunte a la carpeta que contiene el archivo staticwebapp.database.config.json.
swa start ./src --data-api-location swa-db-connections
Ejemplos
Inicie la aplicación con los valores predeterminados.
swa start
Inicie la aplicación con un servidor de desarrollo front-end.
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>
Inicie la aplicación con un servidor de desarrollo front-end y back-end.
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT> --api-location http://localhost:7071
Parámetros opcionales
Carpeta que contiene el código fuente de la aplicación front-end. El valor predeterminado es .
.
Carpeta que contiene el código fuente de la aplicación de API.
Carpeta que contiene el origen compilado de la aplicación front-end. La ruta de acceso es relativa a --app-location
. El valor predeterminado es .
.
Carpeta que contiene el archivo staticwebapp.database.config.json .
Conéctese al servidor de desarrollo de aplicaciones en esta dirección URL en lugar de usar la ubicación de salida.
Conéctese al servidor de API en esta dirección URL en lugar de usar la ubicación de salida.
Puerto del servidor de API pasado a func start
. El valor predeterminado es 7071.
Dirección de host que se usa para el servidor de desarrollo de la CLI. El valor predeterminado es localhost
.
Valor de puerto que se va a usar para el servidor de desarrollo de la CLI. El valor predeterminado es 4280
.
Sirva la aplicación front-end y la API a través de HTTPS. El valor predeterminado es false
.
El certificado SSL (.crt) que se usa al habilitar HTTPS.
La clave SSL (.key) que se usa al habilitar HTTPS.
Ubicación de un archivo de script o comando de shell personalizado que se va a ejecutar al iniciarse.
Cantidad de tiempo de espera (en segundos) al conectarse al servidor de desarrollo de una aplicación front-end o a un servidor de API. El valor predeterminado es 60.
Ubicación del directorio del archivo staticwebapp.config.json
.
Abra el explorador en el servidor de desarrollo. El valor predeterminado es falso.
Pase argumentos adicionales al comando func start
.
Parámetros globales
Mostrar el número de versión.
Habilitar resultado detallado. Los valores de nivel incluyen silly
, info
, log
(valor predeterminado) y silent
.
Ruta de acceso al archivo swa-cli.config.json.
Configuración usada por la CLI.
Imprima todas las opciones resueltas. El valor predeterminado es false
.
Mostrar ayuda contextual.
swa build
Compila la aplicación. Si tiene una aplicación de Node.js, instalará primero las dependencias.
Entre los casos de uso comunes incluyen: instalar dependencias para la aplicación front-end y la API y ejecutar los comandos de compilación para ambas, compilar únicamente el proyecto front-end o API si el otro no tiene un paso de compilación.
swa build
[--app-location]
[--api-location]
[--output-location]
[--app-build-command]
[--api-build-command]
[--auto]
Ejemplos
Compile la aplicación y, opcionalmente, instale las dependencias.
swa build
Detecte cómo compilar la aplicación y ejecutar comandos de compilación después de instalar dependencias.
swa build --auto
Instale las dependencias de la aplicación front-end.
swa build --app-location ./client
Use la configuración denominada "myApp" en *swa-cli.config.json* para compilar la aplicación front-end.
swa build myApp
Parámetros opcionales
Carpeta que contiene el código fuente de la aplicación front-end. El valor predeterminado es .
.
Carpeta que contiene el código fuente de la aplicación de API.
Carpeta que contiene el origen compilado de la aplicación front-end. Esta ruta de acceso es relativa a --app-location
. El valor predeterminado es .
.
Compilación de la aplicación de front-end.
Compila la aplicación de API.
Detecta automáticamente cómo compilar las aplicaciones de front-end y API. El valor predeterminado es false
.
Parámetros globales
Mostrar el número de versión.
Habilitar resultado detallado. Los valores de nivel incluyen silly
, info
, log
(valor predeterminado) y silent
.
Ruta de acceso al archivo swa-cli.config.json.
Configuración usada por la CLI.
Imprima todas las opciones resueltas. El valor predeterminado es false
.
Mostrar ayuda contextual.
swa deploy
Implemente el proyecto actual en Azure Static Web Apps.
Entre los casos de uso comunes se incluye:
- Implementación de una aplicación front-end sin una API
- Implementación de una aplicación front-end con una API
- Implementación de una aplicación Blazor
Token de implementación
La CLI de SWA admite la implementación mediante un token de implementación. Esto suele ser útil al implementar desde un entorno de CI/CD. Puede obtener un token de implementación desde:
Azure Portal: Inicio → Aplicación web estática → La instancia → Información general → Administración del token de implementación
Si usa la CLIde Azure, puede obtener el token de implementación del proyecto mediante el siguiente comando:
az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
Si usa la CLI de Azure Static Web Apps, puede usar el siguiente comando:
swa deploy --print-token
A continuación, puede usar ese valor con
--deployment-token <TOKEN>
o puede crear una variable de entorno denominadaSWA_CLI_DEPLOYMENT_TOKEN
y establecerla en el token de implementación.Importante: No almacene el token de implementación en un repositorio público. Este valor debe permanecer en secreto.
Implementación de una aplicación front-end sin una API
Puede implementar una aplicación front-end sin una API en Azure Static Web Apps mediante la ejecución de los pasos siguientes:
- Si la aplicación front-end requiere un paso de compilación, ejecute
swa build
o consulte las instrucciones de compilación de la aplicación.
Opción 1: Desde la carpeta de compilación que desea implementar, ejecute el comando implementar:
cd build/
swa deploy
Nota: La carpeta
build
debe contener el contenido estático de la aplicación que desea implementar. Opción 2: También puede implementar una carpeta específica:
- Si la aplicación front-end requiere un paso de compilación, ejecute
swa build
o consulte las instrucciones de compilación de la aplicación. - Implementación de la aplicación
swa deploy ./my-dist
Implementación de una aplicación front-end con una API
Para implementar la aplicación front-end y una API en Azure Static Web Apps, siga estos pasos:
- Si la aplicación front-end requiere un paso de compilación, ejecute
swa build
o consulte las instrucciones de compilación de la aplicación. - Asegúrese de que la versión de API Language Runtime del archivo
staticwebapp.config.json
esté establecida correctamente, por ejemplo:
{
"platform": {
"apiRuntime": "node:16"
}
}
Nota: Si el proyecto no tiene ningún archivo
staticwebapp.config.json
, agregue uno debajo de la carpetaoutputLocation
.
- Implementación de la aplicación
swa deploy ./my-dist --api-location ./api
Implementación de una aplicación Blazor
Para implementar una aplicación Blazor con una API opcional en Azure Static Web Apps, siga estos pasos:
- Compile la aplicación Blazor en modo Liberar:
dotnet publish -c Release -o bin/publish
- En la raíz del proyecto, ejecute el comando
deploy
:
swa deploy ./bin/publish/wwwroot --api-location ./Api
Implementación mediante el swa-cli.config.json
Nota: La ruta de acceso de
outputLocation
debe ser relativa aappLocation
. Si usa unswa-cli.config.json
archivo de configuración en el proyecto y tiene una sola entrada de configuración, use una configuración como esta:
{
"configurations": {
"my-app": {
"appLocation": "./",
"apiLocation": "api",
"outputLocation": "frontend",
"start": {
"outputLocation": "frontend"
},
"deploy": {
"outputLocation": "frontend"
}
}
}
}
A continuación, puede implementar la aplicación mediante la ejecución de los pasos siguientes:
- Si la aplicación front-end requiere un paso de compilación, ejecute
swa build
o consulte las instrucciones de compilación de la aplicación. - Implementación de la aplicación
swa deploy
Si tiene varias entradas de configuración, puede proporcionar el identificador de entrada para especificar cuál usar:
swa deploy my-otherapp
swa deploy
[--yes]
Ejemplos
Implementar mediante un token de implementación.
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Implementar mediante un token de implementación desde las variables de entorno
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Implementar mediante el archivo "swa-cli.config.json"
swa deploy swa deploy myconfig
Imprimir el token de implementación
swa deploy --print-token
Implementar en un entorno específico
swa deploy --env production
Parámetros globales
Mostrar el número de versión.
Habilitar resultado detallado. Los valores de nivel incluyen silly
, info
, log
(valor predeterminado) y silent
.
Ruta de acceso al archivo swa-cli.config.json.
Configuración usada por la CLI.
Imprima todas las opciones resueltas. El valor predeterminado es false
.
Mostrar ayuda contextual.
swa db
Genere y edite la configuración de conexiones de base de datos de Static Web Apps.
Use swa db init
para generar una carpeta swa-db-connections de ejemplo, junto con un archivo de configuración de staticwebapp.database.config.json. Si usa una base de datos de Cosmos DB para NoSQL, también generará un archivo de esquema staticwebapp.database.schema.gql de ejemplo.
swa db init --database-type <DATABASE_TYPE>
Ejemplos
Genere una carpeta de configuración de conexión de base de datos de ejemplo para una base de datos de Azure SQL.
swa db init --database-type mssql
Parámetros opcionales
(Obligatorio) Tipo de base de datos que desea conectar (mssql, postgresql, cosmosdb_nosql, mysql).
Nombre de carpeta para invalidar el nombre de carpeta de configuración de conexión de base de datos de convención (asegúrese de actualizar los archivos de flujo de trabajo de CI/CD en consecuencia). El valor predeterminado es swa-db-connections
.
Cadena de conexión de la base de datos que desea conectar.
Base de datos de la cuenta de Cosmos DB que desea conectar (solo es necesario si se usa cosmosdb_nosql tipo de base de datos).
Contenedor de la cuenta de cosmosdb que desea conectar.
Mostrar ayuda para el comando.
Parámetros globales
Mostrar el número de versión.
Habilitar resultado detallado. Los valores de nivel incluyen silly
, info
, log
(valor predeterminado) y silent
.
Ruta de acceso al archivo swa-cli.config.json.
Configuración usada por la CLI.
Imprima todas las opciones resueltas. El valor predeterminado es false
.
Mostrar ayuda contextual.