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
ID sottoscrizione di Azure usato da questo progetto. Il valore predefinito è process.env.AZURE_SUBSCRIPTION_ID
.
Nome del gruppo di risorse. È possibile configurare il gruppo predefinito con az configure --defaults group=<name>
.
ID tenant di Azure. Il valore predefinito è process.env.AZURE_TENANT_ID
.
ID client di Azure.
Segreto client di Azure.
App Web statiche di Azure nome dell'app.
Cancellare le credenziali persistenti prima dell'accesso. Il valore predefinito è false
.
Usare il keychain nativo del sistema operativo per le credenziali persistenti. Il valore predefinito è true
.
Disabilitare l'uso del keychain nativo del sistema operativo.
Parametri globali
Visualizzare il numero di versione.
Abilitare l'output dettagliato. I valori di livello includono silly
, info
( log
impostazione predefinita) e silent
.
Percorso del file swa-cli.config.json.
Configurazione usata dall'interfaccia della riga di comando.
Stampa tutte le opzioni risolte. Il valore predefinito è false
.
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
Risponde "sì" a tutte le richieste, che disabilita la modalità interattiva. Il valore predefinito è false
.
Parametri globali
Visualizzare il numero di versione.
Abilitare l'output dettagliato. I valori di livello includono silly
, info
( log
impostazione predefinita) e silent
.
Percorso del file swa-cli.config.json.
Configurazione usata dall'interfaccia della riga di comando.
Stampa tutte le opzioni risolte. Il valore predefinito è false
.
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:
- Avviare il server di sviluppo locale come di consueto. Ad esempio, se si usa Angular:
ng serve
(onpm start
). - 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:
- Avviare l'API usando Funzioni di Azure Core Tools:
func host start
o avviare il debug in VS Code. - 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
Cartella contenente il codice sorgente dell'applicazione front-end. Il valore predefinito è .
.
Cartella contenente il codice sorgente dell'applicazione API.
Cartella contenente l'origine compilata dell'applicazione front-end. Il percorso è relativo a --app-location
. Il valore predefinito è .
.
Cartella contenente il file staticwebapp.database.config.json .
Connettersi al server di sviluppo dell'app in questo URL anziché usare il percorso di output.
Connettersi al server API in questo URL anziché usare il percorso di output.
Porta del server API passata a func start
. Il valore predefinito è 7071.
Indirizzo host usato per il server di sviluppo dell'interfaccia della riga di comando. Il valore predefinito è localhost
.
Valore della porta da usare per il server di sviluppo dell'interfaccia della riga di comando. Valore predefinito 4280
.
Gestire l'applicazione front-end e l'API tramite HTTPS. Il valore predefinito è false
.
Certificato SSL (con estensione crt) usato per l'abilitazione di HTTPS.
Chiave SSL (.key) usata per l'abilitazione di HTTPS.
Percorso di un comando della shell personalizzato o di un file di script da eseguire all'avvio.
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.
Percorso della directory del staticwebapp.config.json
file.
Aprire il browser sul server di sviluppo. Il valore predefinito è false.
Passare argomenti aggiuntivi al func start
comando .
Parametri globali
Visualizzare il numero di versione.
Abilitare l'output dettagliato. I valori di livello includono silly
, info
( log
impostazione predefinita) e silent
.
Percorso del file swa-cli.config.json.
Configurazione usata dall'interfaccia della riga di comando.
Stampa tutte le opzioni risolte. Il valore predefinito è false
.
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
Cartella contenente il codice sorgente dell'applicazione front-end. Il valore predefinito è .
.
Cartella contenente il codice sorgente dell'applicazione API.
Cartella contenente l'origine compilata dell'applicazione front-end. Questo percorso è relativo a --app-location
. Il valore predefinito è .
.
Compila l'applicazione front-end.
Compila l'applicazione API.
Rileva automaticamente come compilare le applicazioni front-end e api. Il valore predefinito è false
.
Parametri globali
Visualizzare il numero di versione.
Abilitare l'output dettagliato. I valori di livello includono silly
, info
( log
impostazione predefinita) e silent
.
Percorso del file swa-cli.config.json.
Configurazione usata dall'interfaccia della riga di comando.
Stampa tutte le opzioni risolte. Il valore predefinito è false
.
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:
- Distribuire un'app front-end senza un'API
- Distribuire un'app front-end con un'API
- 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 denominataSWA_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:
- 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:
- Se l'applicazione front-end richiede un passaggio di compilazione, eseguire
swa build
o fare riferimento alle istruzioni di compilazione dell'applicazione. - 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:
- Se l'applicazione front-end richiede un passaggio di compilazione, eseguire
swa build
o fare riferimento alle istruzioni di compilazione dell'applicazione. - 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 nellaoutputLocation
cartella.
- 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:
- Compilare l'app Blazor in modalità di rilascio :
dotnet publish -c Release -o bin/publish
- 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'oggettoappLocation
. Se si usa unswa-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:
- Se l'applicazione front-end richiede un passaggio di compilazione, eseguire
swa build
o fare riferimento alle istruzioni di compilazione dell'applicazione. - 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
Visualizzare il numero di versione.
Abilitare l'output dettagliato. I valori di livello includono silly
, info
( log
impostazione predefinita) e silent
.
Percorso del file swa-cli.config.json.
Configurazione usata dall'interfaccia della riga di comando.
Stampa tutte le opzioni risolte. Il valore predefinito è false
.
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
(Obbligatorio) Tipo del database da connettere (mssql, postgresql, cosmosdb_nosql, mysql).
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
.
Il stringa di connessione del database che si desidera connettere.
Database dell'account Cosmos DB che si vuole connettere (necessario solo se si usa cosmosdb_nosql tipo di database).
Contenitore dell'account cosmosdb che si vuole connettere.
Visualizzare la Guida per il comando.
Parametri globali
Visualizzare il numero di versione.
Abilitare l'output dettagliato. I valori di livello includono silly
, info
( log
impostazione predefinita) e silent
.
Percorso del file swa-cli.config.json.
Configurazione usata dall'interfaccia della riga di comando.
Stampa tutte le opzioni risolte. Il valore predefinito è false
.
Mostra la Guida sensibile al contesto.