Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni di riferimento sui comandi dell'interfaccia della riga di comando di App Web statiche di Azure.
Commands
| Command | Description | Type | Status |
|---|---|---|---|
| swa login | Consente di accedere ad Azure. | SWA Core | GA |
| swa init | Configura un nuovo progetto App Web statiche di Azure. | SWA Core | GA |
| swa build | Compila l'applicazione. Se si dispone di un'applicazione Node.js, vengono installate prima le dipendenze. | SWA Core | GA |
| 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 | GA |
| swa deploy | Distribuire il progetto corrente in App Web statiche di Azure. | SWA Core | GA |
| swa db | Generare e modificare la configurazione delle connessioni di database App Web statiche. | SWA Core | GA |
Global Parameters
| Parameter | Summary |
|---|---|
| --version, -v | Visualizzare il numero di versione. |
| --verbose, --V [livello] | 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 login
Consente di 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 .
Syntax
swa login
[--subscription-id]
[--resource-group]
[--tenant-id]
[--client-id]
[--client-secret]
[--app-name]
[--clear-credentials]
[--use-keychain]
[--no-use-keychain]
Examples
Esempio 1: Accesso interattivo ad Azure
swa login
Parameters
--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.
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, rileva le impostazioni del progetto e i framework usati. Al termine, viene creata una nuova app Web statica e viene generato un swa-cli.config.json file 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"
}
}
}
Syntax
swa init
[--yes]
Examples
Esempio 1: Creare una nuova configurazione in modo interattivo.
swa init
Esempio 2: Creare una nuova configurazione usando i valori predefiniti per tutte le opzioni.
swa init --yes
Esempio 3: Inizializzare il progetto usando la configurazione denominata "myApp" dal file swa-cli.config.json.
swa init --config-name myApp
Parameters
--yes, -y
Risponde "sì" a tutte le richieste, che disabilita la modalità interattiva. Il valore predefinito è false.
swa build
Compila l'applicazione. Se si dispone di un'applicazione Node.js, vengono installate prima le dipendenze.
I casi d'uso comuni includono: installazione delle dipendenze per l'app front-end e l'API ed esecuzione dei comandi di compilazione per entrambi, solo la compilazione del progetto front-end o API se l'altro non ha un passaggio di compilazione.
Syntax
swa build
[--app-location]
[--api-location]
[--output-location]
[--app-build-command]
[--api-build-command]
[--auto]
Examples
Esempio 1: Compilare l'app e, facoltativamente, installare le dipendenze.
swa build
Esempio 2: rilevare come compilare l'app ed eseguire i comandi di compilazione dopo l'installazione delle dipendenze.
swa build --auto
Esempio 3: Installare le dipendenze per l'applicazione front-end.
swa build --app-location ./client
Esempio 4: usare la configurazione denominata myApp in swa-cli.config.json per compilare l'applicazione front-end.
swa build myApp
Parameters
--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.
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 startcon 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:
| 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 (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 verifica se Gli strumenti di base di Funzioni di Azure sono installati e disponibili. In caso contrario, l'interfaccia della riga di comando scarica e installa la versione corretta di Azure Functions 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 starto avviare il debug in VS Code.In un terminale separato eseguire l'interfaccia della riga di comando di SWA con il
--api-locationflag e l'URI del server API locale, nel formato seguente:
swa start ./my-dist --api-location http://localhost:7071
Database connections
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
Syntax
swa start
Examples
Esempio 1: avviare l'applicazione con valori predefiniti.
swa start
Esempio 2: avviare l'applicazione con un server di sviluppo front-end.
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>
Esempio 3: 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
Parameters
--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 .
swa deploy
Distribuire il progetto corrente in App Web statiche di Azure.
I casi d'uso comuni includono:
Distribuire un'app front-end senza un'API
Distribuire un'app front-end con un'API
Implementare un'app Blazor
Deployment token
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:
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.
Important
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 buildo fare riferimento alle istruzioni di compilazione dell'applicazione.
Opzione 1: Dalla cartella di compilazione da distribuire eseguire il comando deploy:
cd build/
swa deploy
Note
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 buildo 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 buildo fare riferimento alle istruzioni di compilazione dell'applicazione.Assicurarsi che la versione del runtime del
staticwebapp.config.jsonlinguaggio API nel file sia impostata correttamente, ad esempio:
{
"platform": {
"apiRuntime": "node:16"
}
}
Note
Se il progetto non contiene alcun staticwebapp.config.json file, aggiungerne uno nella outputLocation 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
deploycomando :
swa deploy ./bin/publish/wwwroot --api-location ./Api
Eseguire la distribuzione con swa-cli.config.json
Note
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:
Se l'applicazione front-end richiede un passaggio di compilazione, eseguire
swa buildo 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
Syntax
swa deploy
[--yes]
Examples
Esempio 1: Distribuire usando un token di distribuzione.
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Esempio 2: Distribuire usando un token di distribuzione dalle variabili di ambiente
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Esempio 3: Distribuire usando swa-cli.config.json il file
swa deploy
swa deploy myconfig
Esempio 4: Stampare il token di distribuzione
swa deploy --print-token
Esempio 5: Eseguire la distribuzione in un ambiente specifico
swa deploy --env production
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 staticwebapp.database.config.json file di configurazione. Se si usa un database Cosmos DB per NoSQL, viene generato anche un file di schema di esempio staticwebapp.database.schema.gql .
Syntax
swa db init --database-type <DATABASE_TYPE>
Examples
Esempio 1: Generare una cartella di configurazione della connessione al database di esempio per un database SQL di Azure.
swa db init --database-type mssql
Parameters
--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 il tipo di database).
--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>
Contenitore dell'account Cosmos DB che si vuole connettere.
--help, -h
Visualizzare la Guida per il comando.