Compartir a través de


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

--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.

Parámetros globales
--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 [path]

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 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

--yes, -y

Responda "sí" a todas las indicaciones, que deshabilita el modo interactivo. El valor predeterminado es false.

Parámetros globales
--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 [path]

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 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:

  1. Inicie el servidor de desarrollo local como de costumbre. Por ejemplo, si usa Angular: ng serve (o npm start).
  2. 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:

  1. Inicie la API mediante Azure Functions Core Tools: func host start o inicie la depuración en VS Code.
  2. 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

--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 falso.

--func-args, -f <FUNCTION_ARGUMENTS>

Pase argumentos adicionales al comando func start.

Parámetros globales
--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 [path]

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 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

--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.

Parámetros globales
--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 [path]

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 deploy

Implemente el proyecto actual en Azure Static Web Apps.

Entre los casos de uso comunes se incluye:

  1. Implementación de una aplicación front-end sin una API
  2. Implementación de una aplicación front-end con una API
  3. 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 denominada SWA_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:

  1. 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:

  1. 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.
  2. 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:

  1. 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.
  2. 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 carpeta outputLocation.

  1. 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:

  1. Compile la aplicación Blazor en modo Liberar:
dotnet publish -c Release -o bin/publish
  1. 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 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:

  1. 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.
  2. 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
--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 [path]

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 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

--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>

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).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Contenedor de la cuenta de cosmosdb que desea conectar.

--help, -h

Mostrar ayuda para el comando.

Parámetros globales
--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 [path]

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.