Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Referencia de los comandos de la CLI de Azure Static Web Apps.
Commands
| Command | Description | Type | Status |
|---|---|---|---|
| swa login | Inicie sesión en Azure. | SWA Core | GA |
| swa init | Configura un nuevo proyecto de Azure Static Web Apps. | SWA Core | GA |
| swa build | Compila la aplicación. Si tiene una aplicación de Node.js, instala 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 |
Global Parameters
| Parameter | Summary |
|---|---|
| --version, -v | Mostrar el número de versión. |
| --verbose, --V [level] | Habilitar resultado detallado. Los valores de nivel incluyen silly, info, log (valor predeterminado) y silent. |
| --config, -c [ruta de acceso] | Ruta de acceso al archivo swa-cli.config.json. |
| --config-name, -cn | Configuración usada por la CLI. |
| --print-config, -g | Imprima todas las opciones resueltas. El valor predeterminado es false. |
| --help, -h | Mostrar ayuda contextual. |
swa login
Inicie 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.
Syntax
swa login
[--subscription-id]
[--resource-group]
[--tenant-id]
[--client-id]
[--client-secret]
[--app-name]
[--clear-credentials]
[--use-keychain]
[--no-use-keychain]
Examples
Ejemplo 1: Inicio de sesión interactivo en Azure
swa login
Parameters
--subscription-id, -S
ID. de suscripción de Azure usado por este proyecto. El valor predeterminado es process.env.AZURE_SUBSCRIPTION_ID.
--resource-group, -R
Nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante az configure --defaults group=<name>.
--tenant-id, -T
Identificador de inquilino de Azure. El valor predeterminado es process.env.AZURE_TENANT_ID.
--client-id, -C
ID. de cliente de Azure.
--client-secret, -CS
Secreto de cliente de Azure.
--app-name, -n
Nombre de la aplicación de Azure Static Web Apps.
--clear-credentials -cc
Borre las credenciales persistentes antes del inicio de sesión. El valor predeterminado es false.
--use-keychain, -u
Use la cadena de claves nativa del sistema operativo para las credenciales persistentes. El valor predeterminado es true.
--no-use-keychain, -nu
Deshabilite el uso de la cadena de claves nativa del sistema operativo.
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 pide un nombre de configuración, detecta la configuración del proyecto y los marcos usados. Una vez completada, se crea una nueva aplicación web estática y se genera un swa-cli.config.json archivo 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"
}
}
}
Syntax
swa init
[--yes]
Examples
Ejemplo 1: Crear una nueva configuración de forma interactiva.
swa init
Ejemplo 2: Crear una nueva configuración con valores predeterminados para todas las opciones.
swa init --yes
Ejemplo 3: Inicialice el proyecto mediante la configuración denominada "myApp" del archivo swa-cli.config.json.
swa init --config-name myApp
Parameters
--yes, -y
Responda "sí" a todas las indicaciones, que deshabilita el modo interactivo. El valor predeterminado es false.
swa build
Compila la aplicación. Si tiene una aplicación de Node.js, instala primero las dependencias.
Entre los casos de uso comunes se incluyen la instalación de dependencias para la aplicación front-end y la API y la ejecución de los comandos de compilación para ambos, solo para compilar el front-end o el proyecto de API si el otro no tiene un paso de compilación.
Syntax
swa build
[--app-location]
[--api-location]
[--output-location]
[--app-build-command]
[--api-build-command]
[--auto]
Examples
Ejemplo 1: Compile la aplicación y, opcionalmente, instale dependencias.
swa build
Ejemplo 2: Detectar cómo compilar la aplicación y ejecutar comandos de compilación después de instalar dependencias.
swa build --auto
Ejemplo 3: Instalación de dependencias para la aplicación front-end.
swa build --app-location ./client
Ejemplo 4: Use la configuración denominada myApp en swa-cli.config.json para compilar la aplicación front-end.
swa build myApp
Parameters
--app-location, -a
Carpeta que contiene el código fuente de la aplicación front-end. El valor predeterminado es ..
--api-location, -i
Carpeta que contiene el código fuente de la aplicación de API.
--output-location, -O
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 ..
--app-build-command, -A
Compilación de la aplicación de front-end.
--api-build-command, -I
Compila la aplicación de API.
--auto
Detecta automáticamente cómo compilar las aplicaciones de front-end y API. El valor predeterminado es false.
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 startcon 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:
| Tool | Port | Command |
|---|---|---|
| Angular | 4200 |
swa start http://localhost:4200 |
| Blazor WebAssembly | 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 comprueba si azure Functions Core Tools está instalado y disponible. Si no es así, la CLI descarga e instala 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 starto inicie la depuración en VS Code.En un terminal independiente, ejecute la CLI de SWA con la marca
--api-locationy el URI del servidor de API local, en el siguiente formato:
swa start ./my-dist --api-location http://localhost:7071
Database connections
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
Syntax
swa start
Examples
Ejemplo 1: Iniciar la aplicación con valores predeterminados.
swa start
Ejemplo 2: Iniciar la aplicación con un servidor de desarrollo front-end.
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>
Ejemplo 3: Iniciar 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
Parameters
--app-location, -a <PATH>
Carpeta que contiene el código fuente de la aplicación front-end. El valor predeterminado es ..
--api-location, -i <PATH>
Carpeta que contiene el código fuente de la aplicación de API.
--output-location, -O <PATH>
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 ..
--data-api-location
Carpeta que contiene el archivo staticwebapp.database.config.json .
--app-devserver-url, -D <URL>
Conéctese al servidor de desarrollo de aplicaciones en esta dirección URL en lugar de usar la ubicación de salida.
--api-devserver-url, -is <URL>
Conéctese al servidor de API en esta dirección URL en lugar de usar la ubicación de salida.
--api-port, -j <API_PORT>
Puerto del servidor de API pasado a func start. El valor predeterminado es 7071.
--host, -q <HOST>
Dirección de host que se usa para el servidor de desarrollo de la CLI. El valor predeterminado es localhost.
--port, -p <PORT>
Valor de puerto que se va a usar para el servidor de desarrollo de la CLI. El valor predeterminado es 4280.
--ssl, -s
Sirva la aplicación front-end y la API a través de HTTPS. El valor predeterminado es false.
--ssl-cert, -e <SSL_CERT_LOCATION>
El certificado SSL (.crt) que se usa al habilitar HTTPS.
--ssl-key, -k <SSL_KEY_LOCATION>
La clave SSL (.key) que se usa al habilitar HTTPS.
--run, -r <STARTUP_SCRIPT>
Ubicación de un archivo de script o comando de shell personalizado que se va a ejecutar al iniciarse.
--devserver-timeout, -t <TIME>
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.
--swa-config-location, -w <SWA_CONFIG_FILE_LOCATION>
Ubicación del directorio del archivo staticwebapp.config.json.
--open, -o
Abra el explorador en el servidor de desarrollo. El valor predeterminado es False.
--func-args, -f <FUNCTION_ARGUMENTS>
Pase argumentos adicionales al comando func start.
swa deploy
Implemente el proyecto actual en Azure Static Web Apps.
Entre los casos de uso comunes se incluyen:
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
Deployment token
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 CLI de 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 denominada SWA_CLI_DEPLOYMENT_TOKEN y establecerla en el token de implementación.
Important
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 buildo 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 deploy:
cd build/
swa deploy
Note
La build carpeta 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 buildo 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 buildo 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.jsonesté establecida correctamente, por ejemplo:
{
"platform": {
"apiRuntime": "node:16"
}
}
Note
Si el proyecto no tiene ningún staticwebapp.config.json archivo, agregue uno debajo de la outputLocation carpeta.
- 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 de versión :
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
Note
La ruta de acceso de outputLocation debe ser relativa a appLocation.
Si usa un swa-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 buildo 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
Syntax
swa deploy
[--yes]
Examples
Ejemplo 1: Implementación mediante un token de implementación.
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Ejemplo 2: Implementación mediante un token de implementación desde las variables de entorno
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Ejemplo 3: Implementación mediante swa-cli.config.json archivo
swa deploy
swa deploy myconfig
Ejemplo 4: Imprimir el token de implementación
swa deploy --print-token
Ejemplo 5: Implementación en un entorno específico
swa deploy --env production
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 staticwebapp.database.config.json archivo de configuración. Si usa una base de datos de Cosmos DB para NoSQL, también genera un archivo de esquema de ejemplo staticwebapp.database.schema.gql .
Syntax
swa db init --database-type <DATABASE_TYPE>
Examples
Ejemplo 1: Generación de 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
Parameters
--database-type, -t <DATABASE_TYPE>
(Obligatorio) Tipo de base de datos que desea conectar (mssql, postgresql, cosmosdb_nosql, mysql).
--folder-name, -f <FOLDER_NAME>
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.
---connection-string, -cs <CONNECTION_STRING>
Cadena de conexión de la base de datos que desea conectar.
--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>
La base de datos de la cuenta de Cosmos DB que desea conectar (solo es necesaria si se usa el cosmosdb_nosql tipo de base de datos).
--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>
Contenedor de la cuenta de Cosmos DB que desea conectar.
--help, -h
Mostrar ayuda para el comando.