Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Referensen för Azure Static Web Apps CLI-kommandon.
Commands
| Command | Description | Type | Status |
|---|---|---|---|
| swa login | Logga in på Azure. | SWA Core | GA |
| swa init | Konfigurerar ett nytt Azure Static Web Apps-projekt. | SWA Core | GA |
| swa build | Skapar programmet. Om du har ett Node.js program installeras beroenden först. | SWA Core | GA |
| swa start | Starta Azure Static Web Apps-emulatorn från en katalog eller bind till en utvecklingsserver som körs. | SWA Core | GA |
| swa deploy | Distribuera det aktuella projektet till Azure Static Web Apps. | SWA Core | GA |
| swa db | Generera och redigera konfigurationen av static Web Apps-databasanslutningar. | SWA Core | GA |
Global Parameters
| Parameter | Summary |
|---|---|
| --version, -v | Visa versionsnumret. |
| --verbose, --V [level] | Aktivera utförliga utdata. Nivåvärdena inkluderar silly, info, log (standard) och silent. |
| --config, -c [path] | Sökväg till filen swa-cli.config.json. |
| --config-name, -cn | Konfiguration som används av CLI. |
| --print-config, -g | Skriv ut alla lösta alternativ. Standard är false. |
| --help, -h | Visa sammanhangsberoende hjälp. |
swa login
Logga in på Azure.
Autentisera med Azure för att hämta en distributionstoken för Azure Static Web Apps med hjälp av swa deploy kommandot .
Syntax
swa login
[--subscription-id]
[--resource-group]
[--tenant-id]
[--client-id]
[--client-secret]
[--app-name]
[--clear-credentials]
[--use-keychain]
[--no-use-keychain]
Examples
Exempel 1: Interaktiv inloggning till Azure
swa login
Parameters
--subscription-id, -S
Azure-prenumerations-ID som används av det här projektet. Standardvärdet är process.env.AZURE_SUBSCRIPTION_ID.
--resource-group, -R
Namnet på resursgruppen. Du kan konfigurera standardgruppen med hjälp av az configure --defaults group=<name>.
--tenant-id, -T
Azure-klientorganisations-ID. Standardvärdet är process.env.AZURE_TENANT_ID.
--client-id, -C
Azure-klient-ID.
--client-secret, -CS
Azure-klienthemlighet.
--app-name, -n
Azure Static Web Apps-appnamn.
--clear-credentials -cc
Rensa beständiga autentiseringsuppgifter innan du loggar in. Standardvärdet är false.
--use-keychain, -u
Använd operativsystemets interna nyckelring för beständiga autentiseringsuppgifter. Standardvärdet är true.
--no-use-keychain, -nu
Inaktivera användning av den inbyggda nyckelringen för operativsystemet.
swa init
Konfigurerar ett nytt Azure Static Web Apps-projekt.
Konfigurerar ett nytt Azure Static Web Apps-projekt med Static Web Apps CLI. Interaktivt läge uppmanar dig att ange ett konfigurationsnamn, identifierar dina projektinställningar och de ramverk som används. När den är klar skapas en ny statisk webbapp och en swa-cli.config.json fil genereras i den aktuella katalogen.
Du kan köra swa init flera gånger för att skapa olika konfigurationer för projektet. Du kanske vill göra detta om du arbetar med en monorepo och vill konfigurera olika projekt.
Den genererade konfigurationsfilen används i varje kommando som du kör med Static Web Apps CLI. Om du har flera namngivna konfigurationer kan du använda positionsargumentet eller --config-name alternativet för att ange vilken konfiguration du vill använda.
Följande är ett exempel på en konfiguration som genereras av init kommandot:
{
"$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
Exempel 1: Skapa en ny konfiguration interaktivt.
swa init
Exempel 2: Skapa en ny konfiguration med standardvärden för alla alternativ.
swa init --yes
Exempel 3: Initiera projektet med hjälp av konfigurationen med namnet "myApp" från filen swa-cli.config.json.
swa init --config-name myApp
Parameters
--yes, -y
Svarar "ja" på alla frågor, vilket inaktiverar interaktivt läge. Standard är false.
swa build
Skapar programmet. Om du har ett Node.js program installeras beroenden först.
Vanliga användningsfall är: Installera beroenden för klientdelsappen och API:et och köra byggkommandona för båda, och skapa bara klientdelen eller API-projektet om det andra inte har något byggsteg.
Syntax
swa build
[--app-location]
[--api-location]
[--output-location]
[--app-build-command]
[--api-build-command]
[--auto]
Examples
Exempel 1: Skapa appen och installera beroenden om du vill.
swa build
Exempel 2: Identifiera hur du skapar din app och kör build-kommandon efter installation av beroenden.
swa build --auto
Exempel 3: Installera beroenden för klientdelsprogrammet.
swa build --app-location ./client
Exempel 4: Använd konfigurationen med namnet myApp i swa-cli.config.json för att skapa klientdelsprogrammet.
swa build myApp
Parameters
--app-location, -a
Mappen som innehåller källkoden för klientdelsprogrammet. Standard är ..
--api-location, -i
Mappen som innehåller källkoden för API-programmet.
--output-location, -O
Mappen som innehåller den byggda källan för klientdelsprogrammet. Den här sökvägen är relativ till --app-location. Standard är ..
--app-build-command, -A
Skapar klientdelsprogrammet.
--api-build-command, -I
Skapar API-programmet.
--auto
Identifierar automatiskt hur du skapar klientdels- och API-program. Standard är false.
swa start
Starta Azure Static Web Apps-emulatorn från en katalog eller bind till en utvecklingsserver som körs.
Hantera från en mapp
Som standard startar och hanterar CLI allt statiskt innehåll från den aktuella arbetskatalogen ./:
swa start
Om artefaktmappen för den statiska appen finns under en annan mapp (till exempel ./my-dist) kör du CLI och anger den mappen:
swa start ./my-dist
Hantera från en utvecklingsserver
När du utvecklar klientdelsappen lokalt är det ofta användbart att använda utvecklingsservern som medföljer klientdelsramverkets CLI. Med ramverket CLI kan du använda inbyggda funktioner som "livereload" och HMR (ersättning av frekventa moduler).
Följ dessa två steg om du vill använda SWA CLI med din lokala utvecklingsserver:
Starta din lokala utvecklingsserver som vanligt. Om du till exempel använder Angular:
ng serve(ellernpm start).I en separat terminal kör du
swa startmed den URI som tillhandahålls av utvecklingsservern i följande format:
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>
Här är en lista över standardportar och kommandon som används av några populära utvecklingsservrar:
| 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 (Skapa React-app) | 3000 |
swa start http://localhost:3000 |
| Svelte (sirv-cli) | 5000 |
swa start http://localhost:5000 |
| Vue | 3000 |
swa start http://localhost:3000 |
I stället för att starta en utvecklingsserver separat kan du ange startkommandot till 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"
Få sedan åtkomst till programmet med de emulerade tjänsterna från http://localhost:4280
Hantera både klientdelsappen och API:et
Om ditt projekt innehåller API-funktioner kontrollerar CLI om Azure Functions Core Tools är installerade och tillgängliga. Annars laddar CLI ned och installerar rätt version av Azure Functions Core Tools.
Starta API-servern automatiskt
Kör CLI och ange mappen som innehåller API-serverdelen (ett giltigt Azure Functions App-projekt):
# 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
Starta API-servern manuellt
När du utvecklar serverdelen lokalt är det ibland bra att köra Azure Functions Core Tools separat för att hantera ditt API. På så sätt kan du använda inbyggda funktioner som felsökning och omfattande redigeringsstöd.
Följ dessa två steg om du vill använda CLI med din lokala API-serverdelsserver:
Starta ditt API med Azure Functions Core Tools:
func host starteller börja felsöka i VS Code.I en separat terminal kör du SWA CLI med
--api-locationflaggan och URI:n för den lokala API-servern i följande format:
swa start ./my-dist --api-location http://localhost:7071
Database connections
Om du vill starta programmet med en databasanslutning använder du parametern --data-api-location och pekar på mappen som innehåller staticwebapp.database.config.json-filen .
swa start ./src --data-api-location swa-db-connections
Syntax
swa start
Examples
Exempel 1: Starta programmet med standardvärden.
swa start
Exempel 2: Starta programmet med en klientdelsutvecklingsserver.
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>
Exempel 3: Starta programmet med en klientdels- och serverdelsutvecklingsserver.
swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT> --api-location http://localhost:7071
Parameters
--app-location, -a <PATH>
Mappen som innehåller källkoden för klientdelsprogrammet. Standard är ..
--api-location, -i <PATH>
Mappen som innehåller källkoden för API-programmet.
--output-location, -O <PATH>
Mappen som innehåller den byggda källan för klientdelsprogrammet. Sökvägen är relativ till --app-location. Standard är ..
--data-api-location
Mappen som innehåller staticwebapp.database.config.json-filen .
--app-devserver-url, -D <URL>
Anslut till apputvecklingsservern på den här URL:en i stället för att använda utdataplatsen.
--api-devserver-url, -is <URL>
Anslut till API-servern på den här URL:en i stället för att använda utdataplatsen.
--api-port, -j <API_PORT>
API-serverporten skickades till func start. Standardvärdet är 7071.
--host, -q <HOST>
Värdadressen som används för CLI-utvecklingsservern. Standard är localhost.
--port, -p <PORT>
Det portvärde som ska användas för CLI dev-servern. Standard 4280.
--ssl, -s
Hantera klientdelsprogrammet och API:et via HTTPS. Standard är false.
--ssl-cert, -e <SSL_CERT_LOCATION>
SSL-certifikatet (.crt) som används när HTTPS aktiveras.
--ssl-key, -k <SSL_KEY_LOCATION>
SSL-nyckeln (.key) som används när HTTPS aktiveras.
--run, -r <STARTUP_SCRIPT>
Plats för ett anpassat gränssnittskommando eller skriptfil som ska köras vid start.
--devserver-timeout, -t <TIME>
Hur lång tid det tar att vänta (i sekunder) när du ansluter till ett klientdelsprograms utvecklingsserver eller en API-server. Standardvärdet är 60.
--swa-config-location, -w <SWA_CONFIG_FILE_LOCATION>
Filens staticwebapp.config.json katalogplats.
--open, -o
Öppna webbläsaren till utvecklingsservern. Standardvärdet är false.
--func-args, -f <FUNCTION_ARGUMENTS>
Skicka ytterligare argument till func start kommandot.
swa deploy
Distribuera det aktuella projektet till Azure Static Web Apps.
Vanliga användningsfall är:
Distribuera en klientdelsapp utan API
Distribuera en klientdelsapp med ett API
Distribuera en Blazor-app
Deployment token
SWA CLI stöder distribution med hjälp av en distributionstoken. Detta är ofta användbart när du distribuerar från en CI/CD-miljö. Du kan hämta en distributionstoken från:
Azure Portal: Home → Static Web App → Your Instance → Overview → Manage deployment token (Översikt över → Hantera distributionstoken)
Om du använder Azure CLI kan du hämta distributionstoken för projektet med hjälp av följande kommando:
az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
- Om du använder Azure Static Web Apps CLI kan du använda följande kommando:
swa deploy --print-token
Du kan sedan använda det värdet med --deployment-token <TOKEN> eller så kan du skapa en miljövariabel med namnet SWA_CLI_DEPLOYMENT_TOKEN och ställa in det på distributionstoken.
Important
Lagra inte distributionstoken på en offentlig lagringsplats. Det här värdet måste förbli en hemlighet.
Distribuera en klientdelsapp utan API
Du kan distribuera ett klientdelsprogram utan ETT API till Azure Static Web Apps genom att köra följande steg:
- Om klientdelsprogrammet kräver ett byggsteg kör
swa buildeller läser du anvisningarna för programbygget.
Alternativ 1: Från den byggmapp som du vill distribuera kör du kommandot deploy:
cd build/
swa deploy
Note
Mappen build måste innehålla det statiska innehållet i din app som du vill distribuera.
Alternativ 2: Du kan också distribuera en specifik mapp:
Om klientdelsprogrammet kräver ett byggsteg kör
swa buildeller läser du instruktionerna för programversion.Distribuera din app:
swa deploy ./my-dist
Distribuera en klientdelsapp med ett API
Använd följande steg för att distribuera både klientdelsappen och ett API till Azure Static Web Apps:
Om klientdelsprogrammet kräver ett byggsteg kör
swa buildeller läser du instruktionerna för programversion.Kontrollera att API-språkkörningsversionen i
staticwebapp.config.jsonfilen är korrekt inställd, till exempel:
{
"platform": {
"apiRuntime": "node:16"
}
}
Note
Om projektet inte har någon staticwebapp.config.json fil lägger du till en under mappen outputLocation .
- Distribuera din app:
swa deploy ./my-dist --api-location ./api
Distribuera en Blazor-app
Använd följande steg för att distribuera en Blazor-app med ett valfritt API till Azure Static Web Apps:
- Skapa din Blazor-app i versionsläge :
dotnet publish -c Release -o bin/publish
- Kör kommandot från roten i
deployprojektet:
swa deploy ./bin/publish/wwwroot --api-location ./Api
Distribuera med hjälp av swa-cli.config.json
Note
Sökvägen för outputLocation måste vara relativ till appLocation.
Om du använder en swa-cli.config.json konfigurationsfil i projektet och har en enda konfigurationspost använder du en konfiguration som den här:
{
"configurations": {
"my-app": {
"appLocation": "./",
"apiLocation": "api",
"outputLocation": "frontend",
"start": {
"outputLocation": "frontend"
},
"deploy": {
"outputLocation": "frontend"
}
}
}
}
Sedan kan du distribuera ditt program genom att köra följande steg:
Om klientdelsprogrammet kräver ett byggsteg kör
swa buildeller läser du anvisningarna för programbygget.Distribuera din app:
swa deploy
Om du har flera konfigurationsposter kan du ange post-ID:t för att ange vilken som ska användas:
swa deploy my-otherapp
Syntax
swa deploy
[--yes]
Examples
Exempel 1: Distribuera med en distributionstoken.
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Exempel 2: Distribuera med en distributionstoken från miljövariablerna
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Exempel 3: Distribuera med hjälp av swa-cli.config.json en fil
swa deploy
swa deploy myconfig
Exempel 4: Skriv ut distributionstoken
swa deploy --print-token
Exempel 5: Distribuera till en specifik miljö
swa deploy --env production
swa db
Generera och redigera konfigurationen av static Web Apps-databasanslutningar.
Använd swa db init för att generera en exempelmapp för swa-db-connections , tillsammans med en staticwebapp.database.config.json konfigurationsfil. Om du använder en Cosmos DB för NoSQL-databas genererar detta även en exempelschemafil staticwebapp.database.schema.gql .
Syntax
swa db init --database-type <DATABASE_TYPE>
Examples
Exempel 1: Generera en exempelmapp för databasanslutningskonfiguration för en Azure SQL-databas.
swa db init --database-type mssql
Parameters
--database-type, -t <DATABASE_TYPE>
(Krävs) Typen av databas som du vill ansluta (mssql, postgresql, cosmosdb_nosql, mysql).
--folder-name, -f <FOLDER_NAME>
Ett mappnamn som åsidosätter namnet på konfigurationsmappen för konventionsdatabasanslutning (se till att du uppdaterar ci/CD-arbetsflödesfilerna i enlighet med detta). Standardvärdet är swa-db-connections.
---connection-string, -cs <CONNECTION_STRING>
Den anslutningssträng av databasen som du vill ansluta till.
--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>
Databasen för ditt Cosmos DB-konto som du vill ansluta (behövs bara om du använder cosmosdb_nosql databastyp).
--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>
Containern för ditt Cosmos DB-konto som du vill ansluta till.
--help, -h
Visa hjälp för kommandot.