Condividi tramite


swa

Comandi

Nome Descrizione Tipo Status
swa login

Accedere ad Azure

SWA Core Disponibilità generale
swa build

Compila l'applicazione. Se si dispone di un'applicazione Node.js, verranno prima installate le dipendenze.

SWA Core Disponibilità generale
swa start

Avviare l'emulatore App Web statiche di Azure da una directory o eseguire l'associazione a un server di sviluppo in esecuzione.

SWA Core Disponibilità generale
swa deploy

Distribuire il progetto corrente in App Web statiche di Azure.

SWA Core Disponibilità generale
swa db

Generare e modificare la configurazione delle connessioni di database App Web statiche.

SWA Core Disponibilità generale

swa login

Accedere ad Azure

Eseguire l'autenticazione con Azure per ottenere un token di distribuzione per App Web statiche di Azure usando il swa deploy comando .

swa login
          [--subscription-id]
          [--resource-group]
          [--tenant-id]
          [--client-id]
          [--client-secret]
          [--app-name]
          [--clear-credentials]
          [--use-keychain]
          [--no-use-keychain]

Esempio

Accesso interattivo ad Azure

swa login

Parametri facoltativi

--subscription-id, -S

ID sottoscrizione di Azure usato da questo progetto. Il valore predefinito è process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>.

--tenant-id, -T

ID tenant di Azure. Il valore predefinito è process.env.AZURE_TENANT_ID.

--client-id, -C

ID client di Azure.

--client-secret, -CS

Segreto client di Azure.

--app-name, -n

App Web statiche di Azure nome dell'app.

--clear-credentials -cc

Cancellare le credenziali persistenti prima dell'accesso. Il valore predefinito è false.

--use-keychain, -u

Usare il keychain nativo del sistema operativo per le credenziali persistenti. Il valore predefinito è true.

--no-use-keychain, -nu

Disabilitare l'uso del keychain nativo del sistema operativo.

Parametri globali
--version, -v

Visualizzare il numero di versione.

--verbose, --V [level]

Abilitare l'output dettagliato. I valori di livello includono silly, info( log impostazione predefinita) e silent.

--config, -c [path]

Percorso del file swa-cli.config.json.

--config-name, -cn

Configurazione usata dall'interfaccia della riga di comando.

--print-config, -g

Stampa tutte le opzioni risolte. Il valore predefinito è false.

--help, -h

Mostra la Guida sensibile al contesto.

swa init

Configura un nuovo progetto App Web statiche di Azure.

Configura un nuovo progetto di App Web statiche di Azure con l'interfaccia della riga di comando di App Web statiche. La modalità interattiva richiede un nome di configurazione, rileverà le impostazioni del progetto e i framework usati. Al termine, viene creata una nuova app Web statica e viene generato un file swa-cli.config.json nella directory corrente. È possibile eseguire swa init più volte per creare configurazioni diverse per il progetto. È possibile eseguire questa operazione se si sta lavorando a un monorepo e si vogliono configurare progetti diversi. Il file di configurazione generato viene usato in ogni comando eseguito con l'interfaccia della riga di comando di App Web statiche. Se sono presenti più configurazioni denominate, è possibile usare l'argomento posizionale o --config-name l'opzione per specificare la configurazione da usare. Di seguito è riportata una configurazione di esempio generata dal init comando :

  "$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]

Esempio

Creare una nuova configurazione in modo interattivo.

swa init

Creare una nuova configurazione usando i valori predefiniti per tutte le opzioni.

swa init --yes

Inizializzare il progetto usando la configurazione denominata "myApp" dal file swa-cli.config.json.

swa init --config-name myApp

Parametri facoltativi

--yes, -y

Risponde "sì" a tutte le richieste, che disabilita la modalità interattiva. Il valore predefinito è false.

Parametri globali
--version, -v

Visualizzare il numero di versione.

--verbose, --V [level]

Abilitare l'output dettagliato. I valori di livello includono silly, info( log impostazione predefinita) e silent.

--config, -c [path]

Percorso del file swa-cli.config.json.

--config-name, -cn

Configurazione usata dall'interfaccia della riga di comando.

--print-config, -g

Stampa tutte le opzioni risolte. Il valore predefinito è false.

--help, -h

Mostra la Guida sensibile al contesto.

swa start

Avviare l'emulatore App Web statiche di Azure da una directory o eseguire l'associazione a un server di sviluppo in esecuzione.

Gestire da una cartella

Per impostazione predefinita, l'interfaccia della riga di comando avvia e gestisce qualsiasi contenuto statico dalla directory ./di lavoro corrente:

swa start

Se la cartella artefatto dell'app statica si trova in una cartella diversa , ad esempio ./my-dist, eseguire l'interfaccia della riga di comando e specificare tale cartella:

swa start ./my-dist

Eseguire il servizio da un server di sviluppo

Quando si sviluppa l'app front-end in locale, è spesso utile usare il server di sviluppo fornito con l'interfaccia della riga di comando del framework front-end. L'uso dell'interfaccia della riga di comando del framework consente di usare funzionalità predefinite come "livereload" e HMR (sostituzione dei moduli ad accesso frequente). Per usare l'interfaccia della riga di comando di SWA con il server di sviluppo locale, seguire questa procedura:

  1. Avviare il server di sviluppo locale come di consueto. Ad esempio, se si usa Angular: ng serve (o npm start).
  2. In un terminale separato eseguire swa start con l'URI fornito dal server di sviluppo, nel formato seguente:
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Di seguito è riportato un elenco delle porte e dei comandi predefiniti usati da alcuni server di sviluppo più diffusi:

Strumento Porta Comando
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 (Crea app React) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Anziché avviare un server di sviluppo separatamente, è possibile fornire il comando di avvio all'interfaccia della riga di comando.

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

Accedere quindi all'applicazione con i servizi emulati da http://localhost:4280

Gestire sia l'app front-end che l'API

Se il progetto include funzioni API, l'interfaccia della riga di comando verificherà se Funzioni di Azure Core Tools sono installati e disponibili. In caso contrario, l'interfaccia della riga di comando scaricherà e installerà la versione corretta di Funzioni di Azure Core Tools.

Avviare automaticamente il server API

Eseguire l'interfaccia della riga di comando e specificare la cartella che contiene il back-end dell'API (un progetto app di Funzioni di Azure valido):

# 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

Avviare manualmente il server API

Quando si sviluppa il back-end in locale, a volte è utile eseguire separatamente Funzioni di Azure Core Tools per gestire l'API. In questo modo è possibile usare funzionalità predefinite come il debug e il supporto avanzato dell'editor. Per usare l'interfaccia della riga di comando con il server di sviluppo back-end dell'API locale, seguire questa procedura:

  1. Avviare l'API usando Funzioni di Azure Core Tools: func host start o avviare il debug in VS Code.
  2. In un terminale separato eseguire l'interfaccia della riga di comando di SWA con il --api-location flag e l'URI del server API locale, nel formato seguente:
swa start ./my-dist --api-location http://localhost:7071

Connessioni al database

Per avviare l'applicazione con una connessione al database, usare il --data-api-location parametro e puntare alla cartella contenente il file staticwebapp.database.config.json .

swa start ./src --data-api-location swa-db-connections

Esempio

Avviare l'applicazione con le impostazioni predefinite.

swa start

Avviare l'applicazione con un server di sviluppo front-end.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Avviare l'applicazione con un server di sviluppo front-end e back-end.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT> --api-location http://localhost:7071

Parametri facoltativi

--app-location, -a <PATH>

Cartella contenente il codice sorgente dell'applicazione front-end. Il valore predefinito è ..

--api-location, -i <PATH>

Cartella contenente il codice sorgente dell'applicazione API.

--output-location, -O <PATH>

Cartella contenente l'origine compilata dell'applicazione front-end. Il percorso è relativo a --app-location. Il valore predefinito è ..

--data-api-location

Cartella contenente il file staticwebapp.database.config.json .

--app-devserver-url, -D <URL>

Connettersi al server di sviluppo dell'app in questo URL anziché usare il percorso di output.

--api-devserver-url, -is <URL>

Connettersi al server API in questo URL anziché usare il percorso di output.

--api-port, -j <API_PORT>

Porta del server API passata a func start. Il valore predefinito è 7071.

--host, -q <HOST>

Indirizzo host usato per il server di sviluppo dell'interfaccia della riga di comando. Il valore predefinito è localhost.

--port, -p <PORT>

Valore della porta da usare per il server di sviluppo dell'interfaccia della riga di comando. Valore predefinito 4280.

--ssl, -s

Gestire l'applicazione front-end e l'API tramite HTTPS. Il valore predefinito è false.

--ssl-cert, -e <SSL_CERT_LOCATION>

Certificato SSL (con estensione crt) usato per l'abilitazione di HTTPS.

--ssl-key, -k <SSL_KEY_LOCATION>

Chiave SSL (.key) usata per l'abilitazione di HTTPS.

--run, -r <STARTUP_SCRIPT>

Percorso di un comando della shell personalizzato o di un file di script da eseguire all'avvio.

--devserver-timeout, -t <TIME>

Quantità di tempo di attesa (in secondi) durante la connessione al server di sviluppo di un'applicazione front-end o a un server API. Il valore predefinito è 60.

--swa-config-location, -w <SWA_CONFIG_FILE_LOCATION>

Percorso della directory del staticwebapp.config.json file.

--open, -o

Aprire il browser sul server di sviluppo. Il valore predefinito è false.

--func-args, -f <FUNCTION_ARGUMENTS>

Passare argomenti aggiuntivi al func start comando .

Parametri globali
--version, -v

Visualizzare il numero di versione.

--verbose, --V [level]

Abilitare l'output dettagliato. I valori di livello includono silly, info( log impostazione predefinita) e silent.

--config, -c [path]

Percorso del file swa-cli.config.json.

--config-name, -cn

Configurazione usata dall'interfaccia della riga di comando.

--print-config, -g

Stampa tutte le opzioni risolte. Il valore predefinito è false.

--help, -h

Mostra la Guida sensibile al contesto.

swa build

Compila l'applicazione. Se si dispone di un'applicazione Node.js, verranno prima installate le dipendenze.

I casi d'uso comuni includono: l'installazione delle dipendenze per l'app front-end e l'API e l'esecuzione dei comandi di compilazione per entrambi, ma solo la compilazione del progetto front-end o API se l'altro non ha un passaggio di compilazione.

swa build
          [--app-location]
          [--api-location]
          [--output-location]
          [--app-build-command]
          [--api-build-command]
          [--auto]

Esempio

Compilare l'app e, facoltativamente, installare le dipendenze.

swa build

Rilevare come compilare l'app ed eseguire comandi di compilazione dopo l'installazione delle dipendenze.

swa build --auto

Installare le dipendenze per l'applicazione front-end.

swa build --app-location ./client

Usare la configurazione denominata "myApp" in *swa-cli.config.json* per compilare l'applicazione front-end.

swa build myApp

Parametri facoltativi

--app-location, -a

Cartella contenente il codice sorgente dell'applicazione front-end. Il valore predefinito è ..

--api-location, -i

Cartella contenente il codice sorgente dell'applicazione API.

--output-location, -O

Cartella contenente l'origine compilata dell'applicazione front-end. Questo percorso è relativo a --app-location. Il valore predefinito è ..

--app-build-command, -A

Compila l'applicazione front-end.

--api-build-command, -I

Compila l'applicazione API.

--auto

Rileva automaticamente come compilare le applicazioni front-end e api. Il valore predefinito è false.

Parametri globali
--version, -v

Visualizzare il numero di versione.

--verbose, --V [level]

Abilitare l'output dettagliato. I valori di livello includono silly, info( log impostazione predefinita) e silent.

--config, -c [path]

Percorso del file swa-cli.config.json.

--config-name, -cn

Configurazione usata dall'interfaccia della riga di comando.

--print-config, -g

Stampa tutte le opzioni risolte. Il valore predefinito è false.

--help, -h

Mostra la Guida sensibile al contesto.

swa deploy

Distribuire il progetto corrente in App Web statiche di Azure.

I casi d'uso comuni in cui può verificarsi questa situazione includono:

  1. Distribuire un'app front-end senza un'API
  2. Distribuire un'app front-end con un'API
  3. Implementare un'app Blazor

Token di distribuzione

L'interfaccia della riga di comando di SWA supporta la distribuzione tramite un token di distribuzione. Ciò è spesso utile quando si esegue la distribuzione da un ambiente CI/CD. È possibile ottenere un token di distribuzione da:

  • La portale di Azure: Home →'app Web statica → Panoramica dell'istanza → → Gestire il token di distribuzione

  • Se si usa l'interfaccia della riga di comando di Azure, è possibile ottenere il token di distribuzione del progetto usando il comando seguente:

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Se si usa l'interfaccia della riga di comando di App Web statiche di Azure, è possibile usare il comando seguente:

    swa deploy --print-token
    

    È quindi possibile usare tale valore con --deployment-token <TOKEN> oppure è possibile creare una variabile di ambiente denominata SWA_CLI_DEPLOYMENT_TOKEN e impostarla sul token di distribuzione.

    Importante: non archiviare il token di distribuzione in un repository pubblico. Questo valore deve rimanere un segreto.

Distribuire un'app front-end senza un'API

È possibile distribuire un'applicazione front-end senza un'API in App Web statiche di Azure eseguendo la procedura seguente:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.

    Opzione 1: dalla cartella di compilazione che si vuole distribuire, eseguire il comando deploy:
cd build/
swa deploy

Nota: la build cartella deve contenere il contenuto statico dell'app da distribuire. Opzione 2: è anche possibile distribuire una cartella specifica:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.
  2. Distribuire l'app:
swa deploy ./my-dist

Distribuire un'app front-end con un'API

Per distribuire sia l'app front-end che un'API in App Web statiche di Azure, seguire questa procedura:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.
  2. Assicurarsi che la versione del runtime del staticwebapp.config.json linguaggio API nel file sia impostata correttamente, ad esempio:
{
  "platform": {
    "apiRuntime": "node:16"
  }
}

Nota: se il progetto non contiene alcun staticwebapp.config.json file, aggiungerne uno nella outputLocation cartella.

  1. Distribuire l'app:
swa deploy ./my-dist --api-location ./api

Implementare un'app Blazor

Per distribuire un'app Blazor con un'API facoltativa in App Web statiche di Azure, seguire questa procedura:

  1. Compilare l'app Blazor in modalità di rilascio :
dotnet publish -c Release -o bin/publish
  1. Dalla radice del progetto eseguire il deploy comando :
swa deploy ./bin/publish/wwwroot --api-location ./Api

Eseguire la distribuzione con swa-cli.config.json

Nota: il percorso di outputLocation deve essere relativo all'oggetto appLocation. Se si usa un swa-cli.config.json file di configurazione nel progetto e si dispone di una singola voce di configurazione, usare una configurazione simile alla seguente:

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}

È quindi possibile distribuire l'applicazione eseguendo la procedura seguente:

  1. Se l'applicazione front-end richiede un passaggio di compilazione, eseguire swa build o fare riferimento alle istruzioni di compilazione dell'applicazione.
  2. Distribuire l'app:
swa deploy

Se sono presenti più voci di configurazione, è possibile specificare l'ID voce per specificarne uno da usare:

swa deploy my-otherapp
swa deploy
          [--yes]

Esempio

Eseguire la distribuzione usando un token di distribuzione.

swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>

Distribuire usando un token di distribuzione dalle variabili di ambiente

SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/

Eseguire la distribuzione con il file 'swa-cli.config.json'

swa deploy swa deploy myconfig

Stampare il token di distribuzione

swa deploy --print-token

Eseguire la distribuzione in un ambiente specifico

swa deploy --env production
Parametri globali
--version, -v

Visualizzare il numero di versione.

--verbose, --V [level]

Abilitare l'output dettagliato. I valori di livello includono silly, info( log impostazione predefinita) e silent.

--config, -c [path]

Percorso del file swa-cli.config.json.

--config-name, -cn

Configurazione usata dall'interfaccia della riga di comando.

--print-config, -g

Stampa tutte le opzioni risolte. Il valore predefinito è false.

--help, -h

Mostra la Guida sensibile al contesto.

swa db

Generare e modificare la configurazione delle connessioni di database App Web statiche.

Usare swa db init per generare una cartella swa-db-connections di esempio, insieme a un file di configurazione staticwebapp.database.config.json. Se si usa un database Cosmos DB per NoSQL, verrà generato anche un file di schema staticwebapp.database.schema.gql di esempio.

swa db init --database-type <DATABASE_TYPE>

Esempio

Generare una cartella di configurazione della connessione al database di esempio per un database SQL di Azure.

swa db init --database-type mssql

Parametri facoltativi

--database-type, -t <DATABASE_TYPE>

(Obbligatorio) Tipo del database da connettere (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Nome di cartella per eseguire l'override del nome della cartella di configurazione della connessione al database di convenzione. Assicurarsi di aggiornare di conseguenza i file del flusso di lavoro CI/CD. Il valore predefinito è swa-db-connections.

---connection-string, -cs <CONNECTION_STRING>

Il stringa di connessione del database che si desidera connettere.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

Database dell'account Cosmos DB che si vuole connettere (necessario solo se si usa cosmosdb_nosql tipo di database).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Contenitore dell'account cosmosdb che si vuole connettere.

--help, -h

Visualizzare la Guida per il comando.

Parametri globali
--version, -v

Visualizzare il numero di versione.

--verbose, --V [level]

Abilitare l'output dettagliato. I valori di livello includono silly, info( log impostazione predefinita) e silent.

--config, -c [path]

Percorso del file swa-cli.config.json.

--config-name, -cn

Configurazione usata dall'interfaccia della riga di comando.

--print-config, -g

Stampa tutte le opzioni risolte. Il valore predefinito è false.

--help, -h

Mostra la Guida sensibile al contesto.